Skip to:
Multi-record soapcall sometimes produces output parsing errors.
roxie_echo input:<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><soap:Body><roxie_echoRequestArray><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>a</first><last>h</last></name></Row></peeps></roxie_echoRequest><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>b</first><last>h</last></name></Row></peeps></roxie_echoRequest><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>c</first><last>h</last></name></Row></peeps></roxie_echoRequest><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>d</first><last>h</last></name></Row></peeps></roxie_echoRequest><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>e</first><last>h</last></name></Row></peeps></roxie_echoRequest><roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo"><peeps><Row><name><first>f</first><last>h</last></name></Row></peeps></roxie_echoRequest></roxie_echoRequestArray></soap:Body></soap:Envelope>
good output:<roxie_echoResponseArray><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="0"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>a</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="1"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>b</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="2"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>c</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="3"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>d</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="4"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>e</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="5"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>f</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse></roxie_echoResponseArray>
bad output looks like this: (not always identical)Error parsng XML Error - syntax error "Mismatched opening and closing tags" [line 12, file offset 1177]/zipcode></address></Row></Dataset></R*ERROR*esult></Results></roxie_echoResponse></Dresult xml:<roxie_echoResponseArray><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="0"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>a</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="2"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>c</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="3"><Results><Result><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="1"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>b</first><last>h</last></name><address><zipcode>0</zipcode></address></Row><Row><name><first>d</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="4"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>e</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="5"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'><Row><name><first>f</first><last>h</last></name><address><zipcode>0</zipcode></address></Row></Dataset></Result></Results></roxie_echoResponse></roxie_echoResponseArray>
I modified soapplus http.cpp to call createPTree() on result xml to find this.I will submit PR for that change as well and will update this issue with that info.
fyi
soapplus enhancement used to test and find this issue is located here.
soapplus enhancement to use for testing this is at https://hpccsystems.atlassian.net/browse/HPCC-17705
Multi-record soapcall sometimes produces output parsing errors.
roxie_echo input:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
<roxie_echoRequestArray>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>a</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>b</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>c</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>d</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>e</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
<roxie_echoRequest xmlns="urn:hpccsystems:ecl:roxie_echo">
<peeps>
<Row>
<name>
<first>f</first>
<last>h</last>
</name>
</Row>
</peeps>
</roxie_echoRequest>
</roxie_echoRequestArray>
</soap:Body>
</soap:Envelope>
good output:
<roxie_echoResponseArray><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="0"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>a</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="1"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>b</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="2"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>c</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="3"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>d</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="4"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>e</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="5"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>f</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse></roxie_echoResponseArray>
bad output looks like this: (not always identical)
Error parsng XML Error - syntax error "Mismatched opening and closing tags" [line 12, file offset 1177]
/zipcode></address></Row>
</Dataset>
</R*ERROR*esult></Results></roxie_echoResponse></D
result xml:
<roxie_echoResponseArray><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="0"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>a</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="2"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>c</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="3"><Results><Result><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="1"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>b</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
<Row><name><first>d</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse></Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="4"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>e</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse><roxie_echoResponse xmlns="urn:hpccsystems:ecl:roxie_echo" sequence="5"><Results><Result><Dataset xmlns='urn:hpccsystems:ecl:roxie_echo:result:peeps' name='Peeps'>
<Row><name><first>f</first><last>h</last></name><address><zipcode>0</zipcode></address></Row>
</Dataset>
</Result></Results></roxie_echoResponse></roxie_echoResponseArray>
I modified soapplus http.cpp to call createPTree() on result xml to find this.
I will submit PR for that change as well and will update this issue with that info.
fyi