Einzelnen Beitrag anzeigen

Cologne

Registriert seit: 3. Feb 2015
3 Beiträge
 
#1

Probleme mit SOAP Client

  Alt 3. Feb 2015, 11:14
Hallo liebe Delphi-Praxis-Gemeinde,

ich verzweifel seit einigen Tagen an folgendem Problem:

Ich sende mit Hilfe einer importierten wsdl Datei einen Request an einen Web-Server eines Dienstleisters, um den Auftrags-Status eines bestimmten Auftrages zu ermitteln.

Der Request sieht wie folgt aus.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:amb="http://XXX.XXX.XXX.XXX:8041/orawsv/O/AMBULANZ4KH">
<soapenv:Header/>
<soapenv:Body>
<amb:GET_STATUSInput>
<amb:TRANSPORTAUFTRAGSNUMMER-VARCHAR2-IN>100300</amb:TRANSPORTAUFTRAGSNUMMER-VARCHAR2-IN>
<amb:STATUS-ORDER_STATUS-COUT/>
</amb:GET_STATUSInput>
</soapenv:Body>
</soapenv:Envelope>

Leider erhalte ich von dem zu kontaktierenden Web-Server die Rückmeldung Bad Gateway 502 oder Timeout.
Laut Anbieter des Web-Services stimmt etwas mit der Requestgröße nicht.

Ich habe den oben genannten Request mit Soap-UI getestet und er bekommt eine ordentliche Antwort.
Dank Wire-Shark habe ich die unterschiedlichen Netzwerk-Transaktionen unter die Lupe nehmen können.
Es gibt kleine Unterschiede zwischen den einzelnen Requests:

Soap-UI: Content-Type: text/xml; charset=utf-8
Delphi: Content-Type: text/xml; charset="utf-8"

Soap-UI: Content-Length: 370
Delphi: Content-Length: 380

Hier noch ein Auszug aus der Mail des Anbieters des Webservices:
part of the sent message (in header before xml) is information about length of xml, e.g. in 100300:
Content-Length: 380
we have checked the behavior (on our test database without proxy) if this number is wrong

- if number is smaller than real length, the error messages is returned
- if the number is greater than real length, Oracle waits some time whether something will come or not and causes the Timeout-Error


Alles in allem sehe ich zwar das 10 bytes anscheinend den Unterschied machen bei Content-Length, aber ich habe keinerlei Ideen mehr, wie ich herausfinden kann, wo das Problem bzw. dessen Lösung liegt.

Vielleicht hat ja einer von Euch entsprechend Erfahrung und die zündende Idee.

Danke im Voraus

der verzweifelte Kölner
  Mit Zitat antworten Zitat