2014-04-22 11 views
6

Ich arbeite an Windows Phone Projekt in Visual Studio 2012 für Windows Phone. Ich versuche PHP NuSOAP Webservice zu verwenden, indem ich Service reference hinzufüge.Mit PHP nuSOAP Webservice in C#

Hier folgte ich this Beispiel App. Im Allgemeinen erstellt der VS Reference.cs Datei beim Hinzufügen von Webservice. Sie können sehen, reference.cs Datei Inhalt der Wörterbuch (Beispiel) App HERE

Die Reference.cs meines Webservice meines Projekts HERE. In meiner Reference.cs-Datei ist die Schnittstelle SomeMobileServicePortType leer.

In Line 19.

public interface SomeMobileServicePortType { 
} 

dieser Weil ich keine Methoden der Webservice-Zugang in meinem Projekt zu bekommen. Aber beim Hinzufügen von Referenz in Add service Refernce dialogue zeigt es die Methoden in PHP NuSOAP Webservice enthält.

Ich habe neue Instanz der WebService-Klasse ..

 ServiceReference1.SomeMobileServicePortTypeClient client = new ServiceReference1.SomeMobileServicePortTypeClient(); 

Was falsch mit PHP Webservice ist. Ich habe einige Webservices ausprobiert [insbesondere asmx, ich habe keinen PHP NuSoap Webservice zum Testen bekommen], die gut funktionieren. Kann mir jemand sagen, wie man den PHP NuSOAP Service mit C# benutzt?

============================================== ====================================

Edit:

Wir sind mit NuSOAP PHP Webservice.

Ich glaube, dass es kein Problem mit Webservice gibt. Ich kann die WSDL-Datei momentan nicht teilen.

Here Ich habe das Beispiel, das mit PHP NuSOAP in C# erläutert. Ich versuchte es mit this Webservice Link. Diese Referenz gibt auch keine Methoden. Die Schnittstelle ist so leer.

Also meine Vermutung ist, während der Verwendung von NuSOAP-Dienst funktioniert es nicht in IDE Visual Studio. Here ist mein Beispiel Windows Phone Projekt. Bitte versuchen Sie diese & schlagen Sie mir vor, was ich falsch mache.

+0

Sind Sie sicher, dass die WSDL der PHP SOAP-Dienst ist gültig? Ich schätze, das Problem liegt da ... – ChrFin

+0

@chrfin Es ist in Ordnung. Beim Hinzufügen eines Verweises werden die Vorgänge angezeigt, die im Webservice enthalten sind. – Kumar

+0

Nur weil es die Methoden zeigt, heißt das nicht, dass es in Ordnung ist. Ich habe bereits ein paar PHP-SOAP-Dienste erstellt und musste IMMER die WSDL-Generation ein wenig "zwicken", damit sie für alle "Clients" "wirklich funktionierte". Könnten Sie versuchen, den Service in SOAPui oder SoapSonar hinzuzufügen und zu sehen, ob sie so funktionieren, wie Sie es erwarten? – ChrFin

Antwort

2

Das von Ihnen bereitgestellte Projekt ist nicht mit dieser Art von SOAP-Service kompatibel.

Wenn Sie den Dienst z. eine Konsole App es funktioniert: enter image description here

aber wenn Sie es zu einem Projekt (WP Silverlight) hinzufügen:
enter image description here

Überprüfen Sie, ob Sie SOAP-Codierung auf dem Dienst deaktivieren können.

+0

Hallo .. chrfin, Wie Rathishs Antwort schlug vor, wenn ich zu buchstäblich änderte es funktioniert gut für mich. Aber ich denke nicht, dass es der richtige Weg ist. Kennen Sie eine andere Lösung, um den SOAP-Dienst zu verschlüsseln ... – Kumar

+0

'Aber ich denke nicht, dass es richtiger Weg ist. => IMO, es ist der richtige Weg, um den Dienst kompatibel zu machen, ABER Sie sollten die WSDL nicht manuell bearbeiten , aber ändern Sie die Generierung der WSDL, die auf diese Weise generiert werden soll. – ChrFin

+0

'Es scheint, dass die Silverlight-Version keine RPC/codierte Soap unterstützt und diese Operationen ignoriert. Es unterstützt RPC/Literal Soap Style. Durch den Wechsel zu "wörtlich" funktioniert der Service für mich. Vielen Dank für Ihre wertvolle Zeit. – Kumar