Senden von XML-Eingaben an WSDL mithilfe von SoapClient

Ich habe diese WSDL:https://secure.softwarekey.com/solo/webservices/XmlCustomerService.asmx?WSDL

Ich versuche mit SoapClient eine Anfrage an zu sendenKundensuche Methode.

Der von mir verwendete Code lautet wie folgt:

$url = 'https://secure.softwarekey.com/solo/webservices/XmlCustomerService.asmx?WSDL';
$client = new SoapClient($url);

$CustomerSearch = array(
    'AuthorID' => $authorID,
    'UserID' => $userID,
    'UserPassword' => $userPassword,
    'Email' => $customerEmail 
);

$xml = array('CustomerSearch' => $CustomerSearch);

$result = $client->CustomerSearch(array('xml' => $xml));

Wenn ich den Code ausführe, erhalte ich die folgende PHP-Ausnahme:

Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'any' property

Ich habe das auch für das XML ausprobiert:

$xml = "
<?xml version=\"1.0\" encoding=\"utf-8\"?> 
<CustomerSearch>
    <AuthorID>$authorID</AuthorID>
    <UserID>$userID</UserID>
    <UserPassword>$userPassword</UserPassword>
    <Email>$customerEmail</Email>
</CustomerSearch>
";

Das gibt mir die folgenden Ergebnisse (von einem print_r):

object(stdClass)#4 (1) { ["CustomerSearchResult"]=> object(stdClass)#5 (1) { ["any"]=> string(108) "-2Invalid Xml Document" } }

DasDokumentation sagt, dass das Eingabe-XML ungefähr so ​​aussehen sollte:

<CustomerSearch>
<AuthorID></AuthorID>
<UserID></UserID>
<UserPassword></UserPassword>
<SearchField></SearchField>
<SearchField></SearchField>
<!-- ...additional SearchField elements -->
</CustomerSearch> 

Ich bin ziemlich neu in Soap und habe versucht, herumzuspielen (indem ich rohes, getipptes XML übergeben habe), und ich kann nicht scheinen, dies zum Laufen zu bringen. Jeder Einblick in das, was ich falsch mache, wäre sehr dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage