2008-09-24 7 views
15

Ich rufe eine webservice unter Verwendung der NuSoap PHP library. Die webservice scheint .NET zu verwenden; Jedes Mal, wenn ich es anrufe, erhalte ich eine Fehlermeldung über die Verwendung eines ungültigen SoapAction header. Der gesendete Header ist eine leere Zeichenfolge. Wie kann ich die SoapAction finden, die der Server erwartet?Wie ermitteln Sie eine gültige SoapAction?

Antwort

39

Sie können SoapAction sehen, dass die von Ihnen aufgerufene Serviceoperation erwartet wird, indem Sie sich die WSDL für den Service ansehen. Für .NET-Dienste können Sie auf die WSDL zugreifen, indem Sie einen Webbrowser für die URL des Dienstes öffnen und am Ende "wsdl" hinzufügen.

Im WSDL-Dokument können Sie die SoapActions sehen, die unter den Knoten 'Operation' (unter 'Bindungen') definiert sind. Zum Beispiel:

<wsdl:operation name="Execute"> 
    <soap:operation soapAction="http://tempuri.org/Execute" style="document" /> 

Finden Sie den Operationsknoten für den Betrieb die Sie aufzurufen sind, und lassen Sie die Seife Aktion erwartet es dort zu finden.

+0

Wie kann ich den Rückgabetyp in der WSDL steuern? Ich gebe ein xmldocument zurück, aber ich möchte, dass das wsdl seine inneren Elementtypen beschreibt. –

Verwandte Themen