2017-03-01 3 views
0

Wir haben ein Web-Service-Szenario, in dem der Aufrufer (schrieb in Magik (r) Programmiersprache) MSXML 6.0 verwendet, um eine vorbereitete SOAP xml zu senden ein Webservice. Die Webmethode wird in C# mit Visual Studio 2012 geschrieben und auf IIS 7.5 (Windows Server 2012)MsXML ruft IIS veröffentlicht .net, aber es würde nicht übergeben die Parameter an Web-Methode

Problem ist: die Webmethode empfängt die Parameter nicht, es wird mit Nullargumenten aufgerufen, um genau zu sein.

Es löst auch eine Ausnahme "Objektreferenz nicht auf eine Instanz eines Objekts festgelegt", die die obige Situation zeigt.

Könnte dies ein Kompatibilitätsproblem sein? Da es sich bei allen Teilen um Microsoft-Technologien handelt, scheint es ein wenig merkwürdig, aber hier sind einige Ergebnisse, die helfen könnten, den Calprit herauszufinden.

  1. Der Anrufer Programm arbeitet perfekt mit anderem .net Web Service und sendet Parameter einwandfrei
  2. Der Anrufer funktioniert auch gut mit unserem Webservice (in Szenario), wenn der Webservice hat keine Parameter.
  3. Der Webservice arbeitet mit Anrufer-Anwendung in Ordnung, wenn sie in .net bei der Definition tempuri Adresse

Antwort

0

Das Problem war, geschrieben werden. Das sollte wsdl ähnlich sein, aber da ich das XML selbst erstellt habe und es durch msxml geschickt habe, habe ich die Tempuri-Adresse falsch gesetzt, was zu dem Problem geführt hat.

Seltsam, dass Microsoft sensitive auf Tempuri ist, Achse Webservice nicht!

Verwandte Themen