我需要在jax-ws生成的Web服务客户端上设置自定义soap标头属性。我的情况是,所有 Web 服务调用都必须通过代理服务器,要求在 soap 请求标头中存在特定令牌(从 Web 请求标头接收)。例如:
1 CarServiceService service = null;
2 service = new CarServiceService(new URL(url), new QName(qname);
3 CarServiceEndpoint port = service.getCarServicePort();
似乎在第 3 行中检索了 wsdl,并且由于缺少安全令牌,我的调用失败。有人可以指出如何做到这一点的方向吗?
这里提到了一个详细的例子:
在 Tomcat 6 上创建和部署 JAX-WS Web 服务
本文介绍如何创建和使用 security token
。
我能够从这篇博文中解决我的问题:http://tugdualgrall.blogspot.dk/2009/02/jax-ws-how-to-configure-service-end_17.html
基本上,我需要手动设置 Web 服务端点,而不是试图从请求的 wsdl 中提取端点的框架 - 失败了。