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