This is now implemented. The next set of snapshots should have it working.
Dan > On Jul 20, 2018, at 12:40 PM, Daniel Kulp <[email protected]> wrote: > > The was:addressing feature element does have a addressingRequired=true/false > attribute that I was HOPING would turn on the MustUnderstand header. > However, it’s not. It’s currently only used on the server side to make sure > the client sent addressing headers. I’m going to poke around and see if > it’s something that can be changed. > > Dan > > >> On Jul 18, 2018, at 11:43 AM, Tóth Csaba <[email protected]> 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/%[email protected]%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?) >> >> > > -- > Daniel Kulp > [email protected] <mailto:[email protected]> - http://dankulp.com/blog > <http://dankulp.com/blog> > Talend Community Coder - http://talend.com <http://coders.talend.com/> -- Daniel Kulp [email protected] <mailto:[email protected]> - http://dankulp.com/blog <http://dankulp.com/blog> Talend Community Coder - http://talend.com <http://coders.talend.com/>
