Does it work if you use the BindingProvider? e.g.

bindingProvider.getRequestContext().put(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES,
maps);

Colm.

Colm

On Wed, Jul 18, 2018 at 4:43 PM, Tóth Csaba <ig...@domen.hu> wrote:

> Hello!
>
> I have a (proxy) client inside a server environment. (I have more clients)
> And, need to turn on the WSA, and the mustUnderstand attribute in some
> fields (not all, and not for all client)
>
> I already set up the config:
>
>   <jaxws:client id="ClientRegistry"
>         serviceClass="myServicePortType"
>         address="http://myEndpoint";>
>         <jaxws:binding>
>         <soap:soapBinding version="1.2" mtomEnabled="false" />
>         </jaxws:binding>
>         <jaxws:features>
>             <wsa:addressing xmlns:wsa="http://cxf.apache.org/ws/addressing
> "/>
>           </jaxws:features>
>       </jaxws:client>
>
> Its create the WSA elements into the header, but no clue how to set some
> to mustUnderstand.
>
> I found a solution (https://mail-archives.apache.
> org/mod_mbox/cxf-users/201504.mbox/%3CD225CD69196F3F4A9F4174
> b2fca06f8812111...@s10be002.sh10.lan%3E):
>
>     final MessageContext mc = wsContext.getMessageContext();
>
>     AddressingProperties maps = new AddressingPropertiesImpl();
>     List<QName> mustUnderstandList = maps.getMustUnderstand();
>     mustUnderstandList.add(Names.WSA_ACTION_QNAME);
>     mustUnderstandList.add(Names.WSA_TO_QNAME);
>     mc.put(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES, maps);
>
>
> but for that, I need a MessageContext, but in my code I have only
> BindingProvider (after cast the myServicePortType class).
>
> There are more solution to create the header WSA nodes by code:
>
>        List<Header> headers = new ArrayList<Header>();
>         // action:
>         Header actionHeader = new Header(new QName("
> http://www.w3.org/2005/08/addressing";, "Action"), "myaction",
>                 new JAXBDataBinding(String.class));
>         headers.add(actionHeader);
> bindingProvider.getRequestContext().put(Header.HEADER_LIST, headers);
>
> But I think with the features is more elegant.
>
> I looking the  BindingProvider version of the first solution...
>
> Thanx
>
> Csaba
>
>
> ps: there is a method to turn on the outgoing message multipart if needed
> (if there is a binary payload, and not for always?)
>
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to