For some reason, I end up with different generated SOAP requests between the CXF client and a soapUI client. The one from soapUI works. The one from CXF doesn't. Here are the two generated requests and the error:
CXF's Request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"<http://schemas.xmlsoap.org/soap/envelope/%22>> <soap:Body> <ns2:getOrderDetails xmlns:ns2="http://foo/"<http://foo/%22>> <getOrderDetailsRequest> <getOrderDetailsPayload id="3545"></getOrderDetailsPayload> </getOrderDetailsRequest> </ns2:getOrderDetails> </soap:Body> </soap:Envelope> soapUI's Request: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://foo/"<http://foo/%22>> <soapenv:Header/> <soapenv:Body> <ord:getOrderDetailsRequest> <getOrderDetailsPayload id="3545"></getOrderDetailsPayload> </ord:getOrderDetailsRequest> </soapenv:Body> </soapenv:Envelope> Note that the real difference between the two is that "getOrderDetails" element exists in the CXF request, and NOT in the soapUI request. When I run the soapUI request it fires my code fine. The CXF client request however results in the following error: Caused by: org.apache.cxf.binding.soap.SoapFault: Unmarshalling Error: unexpected element (uri:"", local:"getOrderDetailsRequest"). Expected elements are <{}getOrderDetailsPayload> I don't know which is correct, but I really need the CXF client to work. How do I get the client to NOT include the operation OR make the endpoint require the operation element? -Ryan
