1

クライアント経由で Web サービスにアクセスしようとしているときに、requestContext を取得できません。次のように requestContext にアクセスしようとしています。

QuerySysStatService querySystem=new QuerySysStatService_Impl(wsdl);
QuerySysStatPortType qport=querySystem.getQuerySysStatPortType();
Map<String, Object> rContext =((BindingProvider)qport).getRequestContext();

しかし、私が実行すると:

((BindingProvider) qport)

私は得る:

java.lang.ClassCastException: com.demo.client.service.QuerySysStatPortType_Stub を javax.xml.ws.BindingProvider にキャストできません

任意の提案/ヘルプをいただければ幸いです。前もって感謝します。

4

1 に答える 1

1

見つけた:

  • ((javax.xml.ws.BindingProvider) qport)JAX-WS (by wsimport)で生成された WSDL インターフェースで安全に呼び出すことができます。
  • ((javax.xml.rpc.Stub) qport)(によって作成された) JAX-RPCクライアントで安全に呼び出すことができます。clientgen

私の場合、clientgen(JAX-RPC) を使用して WSDL インターフェイスを作成したため、プロパティは次のように設定できます。

javax.xml.rpc.Stub stub = (javax.xml.rpc.Stub) qport;
stub._setProperty("KEY","Value");
于 2012-04-01T21:12:47.540 に答える