Добавьте объект заголовка SOAP, используя чистый JAX-WS

Я пытаюсь реализовать простой клиент веб-службы дляPayPal Express Checkout API с помощьюJAX WS. PayPal Express Checkout API обеспечиваетWSDL файл, из которого я смог генерировать классы Java, используяCXF's wsdl2java полезность.

Из соображений аутентификации требует добавленияSOAP Header на каждый запрос. Этот заголовок довольно прост и должен выглядеть вот так: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECSOAPAPIBasics#id09C3I0CF0O6

Сгенерировано изWSDL классы включаютebay.apis.eblbasecomponents.CustomSecurityHeaderType класс, который представляет заголовок, который мне нужно добавить к каждому запросу.

Вопрос в том, как добавить вручную созданный экземплярCustomSecurityHeaderType Класс для заголовка SOAP-запроса с учетом следующих условий:

I'm not very eager to use classes from com.sun.* package as mentioned in answer here: JAX-WS - Adding SOAP Headers (mainly because of possible portability issues between different JDK's) I don't want to manually marshal that object into nested javax.xml.soap.SOAPElement instances as mentioned in answer here: How do I add a SOAP Header using Java JAX-WS

Ответы на вопрос(5)

Ваш ответ на вопрос