0

PHP クライアントを使用して ASP.Net Web サービスを利用しようとしています。php メソッドは double パラメータを 1 つ受け取り、それに基づいて値を返します。

これは私の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;

}

Web サービス呼び出しに値を正しく渡していないことは 90% 確信していますが、問題を修正することはできませんでした。どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

これの代わりに

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

使用する

$params = array('kilograms'=>200); 
于 2012-05-17T20:41:20.897 に答える