Han Hong Fang created CXF-4652:
----------------------------------
Summary: Additional namespace is added when web servcie provider
implements Provider<DOMSource>
Key: CXF-4652
URL: https://issues.apache.org/jira/browse/CXF-4652
Project: CXF
Issue Type: Bug
Affects Versions: 2.6.2
Environment: win7 + oracle jdk 1.6.0_29-b11
Reporter: Han Hong Fang
Fix For: 2.6.4
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 {
documentBuilder = documentFacory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
}
Document doc;
try {
doc = documentBuilder.parse(new InputSource(
new ByteArrayInputStream(message.getBytes("UTF-8"))));
} 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira