Как я могу написать клиентский скрипт Nusoap для веб-службы asmx? - PullRequest
0 голосов
/ 05 декабря 2009

Мне нужна клиентская база php на nusoap lib. чтобы получить ответ службы asmx при включенной аутентификации haeder:

Это запрос (с использованием soapUI):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

Вот ответ (soapUI): <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:res="namespaceurl"> <soap:Header> <res:AuthHeader> <!--Optional:--> <res:UserName>myuser</res:UserName> <!--Optional:--> <res:Password>mypass</res:Password> </res:AuthHeader> </soap:Header> <soap:Body> <res:LoanStatus> <res:iAccountNbr>?</res:iAccountNbr> <res:iResortNbr>?</res:iResortNbr> <!--Optional:--> <res:strXRef></res:strXRef> </res:LoanStatus> </soap:Body> </soap:Envelope>

Ответы [ 2 ]

0 голосов
/ 22 октября 2011

Вы можете использовать nusoap для отправки необработанного XML, если у вас возникли проблемы с вызовом SOAP предопределенной .NET Web Service.

Проверьте этот пост для получения дополнительной информации.

Однако лучше попробовать разобрать файл WSDL. Попробуйте использовать wsdl2php. Это действительно хорошо для анализа файлов WSDL. Он будет реплицировать структуру типов данных из файла WSDL в библиотеку классов php.

Описание использования можно найти здесь .

0 голосов
/ 05 декабря 2009

Если вам действительно нужно использовать NuSoap (я рекомендую использовать PHP-родное расширение Soap!), Посмотрите примеры клиентов в Введение в NuSoap :

<?php
// Pull in the NuSOAP code
require_once('nusoap.php');
// Create the client instance
$client = new soapclient('http://localhost/phphack/helloworld.php');
// Call the SOAP method
$result = $client->call('hello', array('name' => 'Scott'));
// Display the result
print_r($result);
?>

Оттуда все должно быть просто.

...