3

jdk に同梱されている JAX-WS を使用して SOAP クライアントを作成します。現在、サービス プロバイダーは wsdl を公開していません。提供されているサービスがわかっている場合、wsdl を使用せずに SOAP クライアントを作成するにはどうすればよいですか?

編集: JAX-WS に限定されず、任意の SOAP API/ツールを自由に使用できます。

Edit2: これは、サービス URL がヒットしたときに表示されるメッセージです。このサービスのメタデータの公開は現在無効になっています。そして、サービスの動作構成を構成することを提案します。サービスが .Net で行われていることを理解しています。しかし、提供されたサービスの動作に関連する詳細を使用して、Java でサービスにアクセスするにはどうすればよいですか?

4

2 に答える 2

3

HttpClient を直接使用できますが、送信する各 xml メッセージを手動でコーディングし、受信する各メッセージを解析する必要があります。XML に一致するオブジェクトを手動で作成し、jaxb を使用してメッセージをマーシャリング/アンマーシャリングすることもできます。

于 2012-04-26T09:46:59.137 に答える
0

を拡張するクライアント サービス プロバイダーを作成し、javax.xml.ws.Service現在手元にあるリモート サービスの URL を受け入れるサービス コンストラクターをオーバーライドできます。

public class Foo extends Service
{ 
  ... 

  public Foo(URL wsdlLocation)
  {
    super(wsdlLocation, SERVICE);
  }
}

次に、プロバイダー バインディングを構築するときに、URL をサービス インターフェイスに明示的に渡します。

Foo service = new Foo(url);
BindingProvider binding = (BindingProvider)service;
于 2012-04-26T09:49:21.677 に答える