Un cliente típico de SOAP en Java JAX-WS utilizando JAX-WS podría ser¿Cómo puedo añadir un encabezado de SOAP mediante solicitud
FooService service = new FooService();
FooPort port = service.getFooPort();
FooPayload payload = new FooPayload();
payload.setHatSize(3);
payload.setAlias("The Hat");
...
port.processRequest(payload);
Esto genera una solicitud de contenido HTTP algo así como
<?xml ... ?>
<S:Envelope xmlns:S="http://...soap-envelope">
<S:Body>
<!-- payload -->
</S:Body>
</S:Envelope>
Manipulando los argumentos de la llamada a port.processRequest() solo pueden afectar a la parte de "carga útil". No puede afectar la parte externa del mensaje XML.
quiero insertar un encabezado SOAP justo antes del cuerpo SOAP
<S:Header>
<X:Security xmlns:X="http://...wsssecurity...>
<X:BinarySecurityToken>kjh...897=</X:BinarySecurityToken>
</X:Security>
</S:Header>
¿Cómo se hace eso?
¿Describe el WSDL los encabezados? Si es así, ¿JAX-WS no genera el código para agregarlos? –