On May 6, 2013, at 12:55 PM, Edward W. Rouse <[email protected]> wrote:
> I have old web service that was generated/written using axis 1.4. There are > many end user written clients that use this web service. There was a > complete rewrite recently done by another group that completely changed the > interfaces and was generated/written using cxf 2.x. I have been tasked with > writing a conversion program that will accept the old axis 1.4 calls, > convert them and make corresponding calls to the cxf services, accept the > responses and convert them into the expected axis 1.4 responses and send > them back to the client. > > The current roadblock is an "org.apache.cxf.interceptor.Fault: Unexpected > wrapper element <connect> found. Expected <connect>." exception. Wow. That's really strange. The code around there specifically checks a .equals on the qnames, but the above message makes it sound like the two are equal. Strange. That said, a wrapper element should be namespace qualified which the above doesn't have. Have you looked into the CXF transformation features? http://cxf.apache.org/docs/transformationfeature.html it can handle some basic element renaming and namespace mapping and such. You may be able to get the service to accept the original Axis1 requests automatically and not really need a proxy. Dan > This is thrown when trying to connect using an original client. My > assumption is that, even though the wsdl file used is the same, the soap > headers are different. Any idea how to set the incoming calls/responses to > use axis while the outgoing calls/responses use cxf? > > In order to try and be less ambiguous, here is a (poor) diagram. > > Request > client(axis1.4) --> proxy service(axis1.4) --> proxy service(cxf2.x) --> new > service(cxf2.x) > > Response > client(axis1.4) <-- proxy service(axis1.4) <-- proxy service(cxf2.x) <-- new > service(cxf2.x) > > Edward W. Rouse > -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
