<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<q1:InsertZTotal xmlns:q1="OrExSysDataMigration">
<AuthKey xsi:type="xsd:string">cTBVVG1UbEJrNXRZeHlXeGR3Q0hIblp0QmUwOHV5TT0=</AuthKey>
<OrderZTotal href="#id1"/>
<InsertErrors href="#id2"/>
</q1:InsertZTotal>
<q2:rcOrderZTotalRec id="id1" xsi:type="q2:rcOrderZTotalRec" xmlns:q2="OrExSysDataMigration">
<FISCALDATE xsi:type="xsd:date">2015-10-02</FISCALDATE>
<RVCSID xsi:type="xsd:long">12</RVCSID>
<TOTAL xsi:type="xsd:decimal">10.5</TOTAL>
</q2:rcOrderZTotalRec>
<q3:rcErrors id="id2" xsi:type="q3:rcErrors" xmlns:q3="OrExSysDataMigration"/>
</s:Body>
</s:Envelope>
Index: base_soap_formatter.pas
===================================================================
--- base_soap_formatter.pas (revision 4365)
+++ base_soap_formatter.pas (working copy)
@@ -510,7 +510,7 @@
locHRefValue := locNode.NodeValue;
if ( locHRefValue[1] = '#' ) then
locHRefValue := Copy(locHRefValue,2,Length(locHRefValue));
- Result := SelectSingleNode(Format('//*[@id=%s]',[locHRefValue]),locNode.OwnerDocument,True);
+ Result := SelectSingleNode(Format('//*[@id=%s]',[QuotedStr(locHRefValue)]),locNode.OwnerDocument,True);
//ANode.OwnerDocument.GetElementById(locHRefValue);
if ( Result = nil ) then
raise ESOAPException.CreateFmt(SERR_NodeNotFoundByID,[locHRefValue]);
Could you please specify you environment (FPC or Delphi, which version, OS, processor) ?