Wysyłanie danych wejściowych XML do WSDL za pomocą SoapClient

Mam ten WSDL:https://secure.softwarekey.com/solo/webservices/XmlCustomerService.asmx?WSDL

Próbuję użyć SoapClient do wysłania żądania doCustomerSearch metoda.

Kod, którego używam, wygląda następująco:

$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));

Po uruchomieniu kodu otrzymuję następujący wyjątek PHP:

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

Wypróbowałem to także dla XML:

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

Co daje mi następujące wyniki (z print_r):

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

Thedokumentacja mówi, że wejściowy XML powinien wyglądać mniej więcej tak:

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

Jestem całkiem nowy w Soap i próbowałem bawić się (przekazując surowy, wpisany XML) i nie wydaje mi się, żeby to działało. Każdy wgląd w to, co robię źle, zostanie bardzo doceniony.

questionAnswers(2)

yourAnswerToTheQuestion