Estoy intentando crear un cliente independiente para consumir algunos servicios web. Debo agregar mi nombre de usuario y contraseña al encabezado SOAP. He intentado añadir las credenciales de la siguiente manera:JAX-WS - Agregar encabezados 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");
...
Cuando llamo a un método en el servicio que da la siguiente excepción:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5048E: One of "SOAP Header" elements required.
¿Qué estoy haciendo mal? ¿Cómo agregaría estas propiedades al encabezado SOAP?
Editado: Estaba usando JAX-WS 2.1 incluido en JDK6. Ahora estoy usando JAX-WS 2.2. Ahora recibo la siguiente excepción:
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.
¿Cómo hago para crear este token?
Lo pila ws está usando? –
JAX-WS 2.1 incluido en JDK6. –