25.5. コンシューマーのビジネスロジックの実装


概要

リモートエンドポイントのサービスプロキシーをインスタンス化すると、ローカルオブジェクトであるかのようにそのメソッドを呼び出すことができます。リモートメソッドが完了するまで、呼び出しはブロックされます。

注記

メソッドに @OneWay アノテーションが付けられている場合、呼び出しは即座に返します。

例25.7「WSDL コントラクトなしで実装されたコンシューマー」 は、例24.7「完全にアノテーションが付けられた SEI」 で定義されたサービスのコンシューマーを示しています。

例25.7 WSDL コントラクトなしで実装されたコンシューマー

package com.fusesource.demo;

import java.io.File;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class Client
{
public static void main(String args[])
  {
    QName serviceName = new QName("http://demo.eric.org", "stockQuoteReporter");
  Service s = Service.create(serviceName);

    QName portName = new QName("http://demo.eric.org", "stockQuoteReporterPort");
  s.addPort(portName, "http://schemas.xmlsoap.org/soap/", "http://localhost:9000/EricStockQuote");

  quoteReporter proxy = s.getPort(portName, quoteReporter.class);

  Quote quote = proxy.getQuote("ALPHA");
    System.out.println("Stock "+quote.getID()+" is worth "+quote.getVal()+" as of "+quote.getTime());
  }
}

例25.7「WSDL コントラクトなしで実装されたコンシューマー」 のコードは、以下を行います。

Service オブジェクトを作成します。

エンドポイント定義を Service オブジェクトに追加します。

Service オブジェクトからサービスプロキシーを取得します。

サービスプロキシーで操作を呼び出します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.