Description
I have a message defined as below in a WSDL. (Granted, it is not a WS-1 Profile compliant WSDL).
<wsdl:message name="MPTestResponse"> <wsdl:part name="Param1" type="xsd:int"/> <wsdl:part name="DefaultOutput" type="xsd:string"/> </wsdl:message>
If the service model is built from a WSDL and not from a service class, the MessagePartInfo's concrete name will not have a namespace. As the result, the SOAP message gets rejected incorrectly by DocLiteralInInterceptor due to findMessagePart() method returns null. In the findMessagePart() method, it adds a namespace to the read in message part (variable "name") if it does not have one. In the case of the"type" message part, it does not have a namespace. The problem is that the MessagePartInfo's concreteName does not have a namespace and the comparison (name.equals(p.getConcreteName()) will fail. (The "name" now has a namespace but the concrete name does not.)