2010-11-20 4 views
0

Ich versuche auf einen SOAP-Webservice von iOS zuzugreifen.SOAPAction nicht erkannt, wenn von OS X oder iOS gesendet

Aber ich habe nur diese Antwort:

<?xml version="1.0"?> 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Body> 
<soap:Fault> 
<faultcode>soap:Client</faultcode> 
<faultstring>Den spesifiserte SOAPAction ble ikke gjenkjent.</faultstring> 
<detail/> 
</soap:Fault> 
</soap:Body> 
</soap:Envelope> 

Der Fehler Zeichenfolge sagt: Die angegebene Soapaction nicht erkannt wurde. (Übersetzt aus dem Norwegischen.)

Wenn ich die SOAP-Anfrage von einer Windows-Box senden bekomme ich die richtige Antwort.

Ich versuchte auch, curl auf meinem Mac zu verwenden, um die Anfrage zu senden, bekam aber die gleiche Fehlerantwort wie ich bekam, als ich von iOS schickte.

Ich habe Wireshark verwendet, um die SOAP-Anforderungen auf dem Computer zu überprüfen, auf dem der Server ausgeführt wird. (Es ist ein Webservice in einer Anwendung, so dass ich keine Kontrolle über sie habe.)

Die Anfrage, die von der Windows-Box akzeptiert und gesendet wurde, und die Anfrage, die nicht akzeptiert und von OS X mit Curl gesendet wurde hat genau die gleichen XML und http-Header.

Was könnte falsch sein?

+0

Können Sie die HTTP-Header-SOAPAction für die Arbeit & nicht arbeiten Anforderungen, es klingt wie die nicht funktionierende Anfrage fehlt entweder die SOAPAction-Header insgesamt oder hat einen anderen Wert. – superfell

+0

Das ist das Problem du .. Die SOAPAction und alle anderen Header sind genau gleich – LarsJK

Antwort

0

Haben Sie Zeilenumbrüche und Zeichensatzkodierung überprüft? XML ist sehr speziell, setzen Sie den Zeichensatz Ihres XML auf UTF-8 oder etwas universeller, und überprüfen Sie, dass die Zeilenumbrüche kompatibel sind, werde ich die Zeilenumbrüche setzen, als ob sie C-Strings, die Zeile bricht auf Windows sind \ r \ n wie in Mac ich glaube, nur \ n

Verwandte Themen