0

我需要一个基于 nusoap lib 的 php 客户端。在启用 haeder auth 的情况下获得 asmx 服务响应:

这是请求(使用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>

4

2 回答 2

0

如果你真的需要使用 NuSoap(我推荐使用 PHP-native 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);
?>

从那里应该是直截了当的。

于 2009-12-04T21:42:53.100 回答
0

如果对预定义的 .NET Web 服务进行 SOAP 调用时遇到问题,可以使用 nusoap 发送原始 XML。

查看这篇文章了解更多信息。

但是,最好尝试解析 WSDL 文件。尝试使用 wsdl2php。它非常适合解析 WSDL 文件。它将数据类型结构从 WSDL 文件复制到 php 类库。

您可以在此处找到有关如何使用它的说明。

于 2011-10-22T14:01:37.393 回答