JAX-WS - 添加 SOAP 头文件
我正在尝试创建一个独立的客户端来使用一些Web服务。我必须将我的用户名和密码添加到 SOAP 标头。我尝试按如下方式添加凭据:
OTSWebSvcsService service = new OTSWebSvcsService();
OTSWebSvcs port = service.getOTSWebSvcs();
BindingProvider prov = (BindingProvider)port;
prov.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "myusername");
prov.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "mypassword");
...
当我在服务上调用方法时,我得到以下异常:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5048E: One of "SOAP Header" elements required.
我做错了什么?如何将这些属性添加到 SOAP 标头?
编辑:我使用的是JDK6中包含的JAX-WS 2.1。我现在正在使用 JAX-WS 2.2。我现在得到以下异常:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
如何创建此令牌?