Details
Description
In the invoke method of web service provider which implements Provider<DOMSource>, using the following code to return a response DOMSource,
DOMSource response = new DOMSource();
DocumentBuilderFactory documentFacory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = null;
try
catch (ParserConfigurationException e)
{ throw new RuntimeException(e); } Document doc;
try
catch (Exception e)
{ throw new RuntimeException("error parse: " + str, e); }response.setNode(doc);
In above code, if message string is:
"<ns2:echoResponse xmlns:ns2="annotations.webserviceprovider.fq"><return>Hello world</return></ns2:echoResponse>",
but the soapMessage body will be:
"<ns2:echoResponse xmlns:ns2="annotations.webserviceprovider.fq" xmlns="annotations.webserviceprovider.fq"><return>Hello world</return></ns2:echoResponse>"
Additional attribute xmlns="annotations.webserviceprovider.fq" is added by cxf. This additional attribute causes the unmarshal issue at client side.