The response to the web service contains namespace aliases for each attribute. These aliases are not defined in the WSDL. For example, the WSDL contains the http://www.example.com/SomeService " namespace and request aliases that are on the fly like xmlns: ns3 =" http://www.example.com/SomeService "at the top level node. Thus , the attributes in the response look like ns3: somePropertyName = "[value]".
In the OPToSOAPDomConv block in TSOAPDomConv.InitObjectFromSOAP, he tries to find the attribute name without a namespace prefix. This causes the search to fail, and the property of the object remains empty. This happens even with 2007 source files.
The best fix I see is to modify the InitObjectFromSOAP procedure.
Around line 4181 add:
RemTypeRegistry.InfoToURI(PropList[i].PropType^, NS, PropName, IsScalar);
AttrNode.HasAttribute, NS , :
if AttrNode.HasAttribute(ExternalPropName, NS) then
, - SetObjectPropFromText. , Attr.Attributes [ExternalPropName]
SetObjectPropFromText(Instance, PropList[I], AttrNode.GetAttributeNS(ExternalPropName, NS))
, , NS, PropName IsScalar vars.