The SOAP message you posted for step 8 is not a valid SOAP message (it contains two <soap:body>
elements for example), but it isn't even a well-formed XML document! I've pasted the message below with some formatting added to it. As you can see, a lot of elements are never closed, some elements declarations are missing the closing ">
" and some bits look a bit like a weird combination of element and attribute.
<soap:envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://www.example.com/">
<soap:body>
<tns:sendtoarchiveresponse>
<application>
<applicationnumber>100044</applicationnumber>
<accountnumber>0</accountnumber>
<applicationstatus>
<applicationpriority>false</applicationpriority>
<channelinitiatedfrom>
<title>
<title_helper_enabled>true</title_helper_enabled>
<gender>
<stateofresidence>
<maritalstatus>
<noofdependants>0</noofdependants>
<sameasresidential>false</sameasresidential>
<residentialstatus>Owner]]></residentialstatus>
<yearsataddress>0</yearsataddress>
<monthsataddress>0</monthsataddress>
<yearsatpreviousaddress>0</yearsatpreviousaddress>
<monthsatpreviousaddress>0</monthsatpreviousaddress>
<containnotes>false</containnotes>
<documentationlanguage>
<highestqualification>OrLower]]></highestqualification>
<covertype>HolderCoverOnly]]></covertype>
<employmenttype>Time]]></employmenttype>
<debitorderaccounttype>
<debitordertransactionday>1</debitordertransactionday>
<applicationexpensecommitmentsbondrent>0.0</applicationexpensecommitmentsbondrent>
<applicationexpensecommitmentscar>0.0</applicationexpensecommitmentscar>
<applicationexpensecommitmentsclothing1>0.0< applicationexpensecommitmentsclothing1>
<applicationexpensecommitmentsclothing2>0.0<="" applicationexpensecommitmentsclothing2>
<applicationexpensecommitmentsclothing3>0.0<="" applicationexpensecommitmentsclothing3>
<applicationexpensecommitmentsfurniture1>0.0<="" applicationexpensecommitmentsfurniture1>
<applicationexpensecommitmentsfurniture2>0.0<="" applicationexpensecommitmentsfurniture2>
<applicationexpensecommitmentscellphone="">0.0</applicationexpensecommitmentscellphone>
<applicationexpenseothertax>0.0</applicationexpenseothertax>
<applicationexpenseothermedicalaid>0.0</applicationexpenseothermedicalaid>
<applicationexpenseotherpension>0.0</applicationexpenseotherpension>
<applicationexpenseotherschoolfees>0.0</applicationexpenseotherschoolfees>
<applicationexpenseotherfood>0.0</applicationexpenseotherfood>
<applicationexpenseothertravelling>0.0</applicationexpenseothertravelling>
<applicationexpenseotherelectricty>0.0</applicationexpenseotherelectricty>
<applicationexpenseotherwaterrates>0.0</applicationexpenseotherwaterrates>
<applicationdisposableincome>0.0</applicationdisposableincome>
<creditlimit>0</creditlimit>
<maxcreditlimit>0</maxcreditlimit>
<diaryactive>false</diaryactive>
<crosscheckdone>false</crosscheckdone>
<bureauscoredone>false</bureauscoredone>
<affordabilitycheckdone>false</affordabilitycheckdone>
<preagreementsigneddone>false</preagreementsigneddone>
<cdmcode>0</cdmcode>
<firstvouchernumber>0</firstvouchernumber>
<application_fax>
<fax>
<name>FormImages\431$FaxedApp09122010013856.jpeg]]></name>
<deleteafterdownload>false</deleteafterdownload>
<contents>
<soap:envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:body>
<soap:fault>
<faultcode>Server</faultcode>
<faultstring>Internal server error</faultstring>
</soap:fault>
</soap:body>
</soap:envelope>
Ok, so:
app 1 (5009) calls app 2 (5010, which then builds a request to send whatever to app1 (5009). App2 then receives a really long message (step 8 in your answer), which has seems to be ok BUT ends with a soapfault?
If app2 calls app1, should we also see some tracelogging from app1 that it received a request and is then responding to it? What happened before steps 1 and 2 for app1?
It kind of looks like you've built a really complicated flow of calls and it's pretty hard to see what's going on. I'd suggest breaking up all the steps and trying to run them one at a time, and then pinpoint exactly where it breaks. This'll be easier for yourself to debug and for us to help you :)