2012-05-12 106 views
0

我正在尝试使用php客户端来使用ASP.Net web服务。 php方法接收一个双参数并根据它返回一个值。使用php调用ASP.Net web服务

这是我的client.php代码:

$wsdl_url = "url"; 
$client = new SoapClient($wsdl_url); 
$params = array('value'=>200); 
$response = $client->kilogramsToPounds($params); 
echo "<pre>"; 
var_dump($response); 
echo "</pre>"; 
echo "$response->kilogramsToPoundsResult"; 

当我运行代码,我得到了以下错误:

Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'kilograms' property in /var/www/student/oce1bct/CourseWork/Scenario3/TestFolder/convertersTest.php:23 Stack trace: #0 /var/www/student/oce1bct/CourseWork/Scenario3/TestFolder/convertersTest.php(23): SoapClient->__call('kilogramsToPoun...', Array) #1 /var/www/student/oce1bct/CourseWork/Scenario3/TestFolder/convertersTest.php(23): SoapClient->kilogramsToPounds(Array) #2 {main} thrown in /var/www/student/oce1bct/CourseWork/Scenario3/TestFolder/convertersTest.php on line 23 

从被消耗Web服务的摘录也低于

[WebMethod] 

public double kilogramsToPounds(double kilograms) 

{ 

double pounds = 0; 

pounds = kilograms * 2.204; 

return pounds; 

} 

我90%确定我没有正确地将值传递给Web服务调用,但一直没有为了纠正这个问题。 任何帮助,将不胜感激。 谢谢。

回答

2

取而代之的是

$params = array('value'=>200); 

使用

$params = array('kilograms'=>200);