10

JAX-WSサービスをデプロイし、wsimportを使用してクライアントコードを生成しました。localhostでwsimportを実行しているため、「localhost」アドレスにbinindを持つクライアントコードを取得しました。

しかし、パブリックIP yyyyを使用してデプロイされたサービスにアクセスする他のコンピューターでこれらのクライアントコードを再利用したいと思います。これらの(1回)生成されたクライアントコードを動的に使用してサービスにアクセスするにはどうすればよいですか。(サービスのIPは変更される可能性があります...)

4

2 に答える 2

13

これは、JAX-WSのFAQで説明されています。

Q.リクエストのWebサービスアドレスを動的に変更するにはどうすればよいですか?

((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "..."); 
于 2009-11-11T08:35:52.323 に答える
6

もちろん。JBossの例を見てください。関連するコードスニペットは次のとおりです。

BindingProvider bp = (BindingProvider) port;
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://your.wsdl.location");

通常、WSDLが生成されるため、WSプロバイダーは関連するURLをWSDLに挿入します。

于 2009-11-11T08:22:49.177 に答える