Leute,SOAP PHP Aufruf von .NET. Keine Parameter
Ich benutze SOAPClient in PHP, um einen .NET Webservice aufzurufen. Alles in Ordnung und Dandy, bis zu dem Punkt, wo ich Parameter übergebe. Der Remote-Webservice stellt eine Anfrage an eine listener.php-Datei, die die Antwort verarbeitet, jedoch scheint sie derzeit nicht in der Lage zu sein, die Parameter zu ermitteln ... die Anfrage zu prüfen, bevor sie gesendet wird, scheint die Parameter nicht zu zeigen im XML.
Kann mir jemand definitiv zeigen, wie man Parameter übergibt? Bisher habe ich über 3 verschiedene Möglichkeiten gesehen, einschließlich, aber nicht beschränkt auf die folgenden:
$pCriteria->AuctionID = new SoapVar($auction_id, XSD_INT, 'xsd:int');
oder:
$ar_bidupdate_params_total = array('AuctionID' => $auction_id,'parameter2... etc..)
oder:
$ar_bidupdate_params = array( new SoapParam($auction_id, 'AuctionID'),
Der Beispielcode zeigt auch, dass er auf verschiedene Arten aufgerufen wird (aus dem, was ich gesehen habe) das Netz).
$info = $soapClient->__call("BidUpdate", array($pCriteria));
oder
$info = $client->BidUpdate($pCriteria);
Frage ist, 1) Wie gebe ich diese Parameter zuverlässig nativen Soapclient verwenden, und 2) Was ist der beste Weg, dies zu tun?
Alternativ, wenn ich dies nicht zum Ball spielen kann, könnte ich einfach das XML on the fly erstellen. Wenn ich diesen Ansatz wähle, was ist der beste Weg, die XML-Kette zu senden?
Es wird empfohlen, die WSDL-Datei zwischenzuspeichern, um die Vorgänge zu beschleunigen und unnötigen Netzwerkverkehr zu reduzieren. – zanlok
Laut der PHP-Site ist "__call" veraltet und "__soapCall" ist mehr für Nicht-WSDL-Modus. Sie können Methoden direkt auf dem Objekt aufrufen, und ich dereferenziere sie, so dass sie nicht im Haupt-Kommunikationsmodul fest codiert sind, sondern an anderer Stelle im benutzerdefinierten Klassencode angegeben sind. http://www.php.net/manual/en/soapclient.soapcall.php – zanlok