With the version of CXF that is currently built into JBoss, it's a bit difficult. You would need to write an interceptor that would create a Map<String, String> of prefix/namespace mappings that you want stuck on the envelope and then save that on the message with the key "soap.env.ns.map". You would likely also need to set "disable.outputstream.optimization" to Boolean.TRUE.
With 2.3.4/2.4, this will become easier as an interceptor won't be required. Normal endpoint properties will work. Dan On Monday 21 March 2011 4:56:56 PM cnnfntop wrote: > Hi, > We just upgraded from jboss 4.2.2 to Jboss 6 which uses CXF internally from > what I understand. > > Our webservice comes up OK and we can call it however the responses are > different, in particular the namespaces (soap: vs env:). This is breaking > some of our clients (which are hard coded to this kind of env: prefix, yes > its bad). > > > How can we fix this via server side configuration? > > For example: > > On JBOSS 4.2.2 a response looks like this: > > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";> > <env:Header/> > <env:Body> > <ns2:isTitleAvailableResponse xmlns:ns2="http://users.mysite.com/";> > <return>true</return> > </ns2:isTitleAvailableResponse> > </env:Body> > </env:Envelope> > > > On JBOSS 6 a response looks like this (we need it to look like 4.2.2 above) > > > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";> > > <soap:Body> > <ns2:isTitleAvailableResponse xmlns:ns2="http://users.mysite.com/";> > <return>true</return> > </ns2:isTitleAvailableResponse> > </soap:Body> > </soap:Envelope> -- Daniel Kulp [email protected] http://dankulp.com/blog Talend - http://www.talend.com
