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生成的 WSDL 接口上安全地调用(by wsimport
  • ((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 回答