2009-12-04 87 views
0

我需要一個基於nusoap lib的php客戶端。得到與haeder AUTH一個ASMX服務響應啓用:如何爲Asmx Web服務編寫Nusoap客戶端腳本?

這是(使用的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>

回答

0

如果你真的需要使用NuSoap(我推薦使用PHP原生Soap擴展!),看看客戶端樣本中的Introduction to 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); 
?> 

從那裏它應該是直截了當的。

+0

我有相同的代碼頭和我需要得到響應HTTP/1.1 200 OK ,但我沒有看到作爲XML的XML響應。我只是空白。和預先形成的肥皂信息 – kraiosis 2010-05-12 22:21:09

0

如果您在對預定義的.NET Web服務進行SOAP調用時遇到問題,可以使用nusoap發送原始XML。

檢查this post瞭解更多信息。

但是,最好嘗試解析WSDL文件。嘗試使用wsdl2php。解析WSDL文件非常好。它會將數據類型結構從WSDL文件複製到一個php類庫中。

你可以找到如何使用它的說明here