Un tipico client SOAP utilizzando JAX-WS potrebbe essereCome faccio ad aggiungere un'intestazione SOAP utilizzando Java JAX-WS richiesta
FooService service = new FooService();
FooPort port = service.getFooPort();
FooPayload payload = new FooPayload();
payload.setHatSize(3);
payload.setAlias("The Hat");
...
port.processRequest(payload);
Questo genera un qualcosa di contenuti richiesta HTTP come
<?xml ... ?>
<S:Envelope xmlns:S="http://...soap-envelope">
<S:Body>
<!-- payload -->
</S:Body>
</S:Envelope>
Manipolando gli argomenti della chiamata a port.processRequest() possono influenzare solo la parte "payload". Non è possibile modificare la parte esterna del messaggio XML.
voglio inserire un'intestazione SOAP appena prima che il corpo SOAP
<S:Header>
<X:Security xmlns:X="http://...wsssecurity...>
<X:BinarySecurityToken>kjh...897=</X:BinarySecurityToken>
</X:Security>
</S:Header>
Come posso fare?
Il WSDL descrive le intestazioni? Se è così, allora JAX-WS non genera il codice per aggiungerli? –