みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Webサービスの参照渡し

PHP初心者です。調べても有効な情報が得られなかったので質問します。

PHP(5.2.6)から(VB.NET2008で作成した)Webサービスを呼び出したのですが、
引数が値渡しになっているらしく、Webサービスで設定した値が返ってきません。
参照渡しにするにはどうしたらいいのでしょうか?

--------------------------------------------------------------
***[PHP]**********************************
<?php
$client = new SoapClient("http://IPAdress//WebSv.asmx?WSDL");
$AAA = "AAA";

$params = array('rAAA'=>$AAA);
$result = $client->__soapCall("ATOB", array('parameters' => $params));

print_r($AAA);
?>
******************************************

***[Webサービス]**************************
<WebMethod()> _
Public Sub ATOB(ByRef rAAA As String)
rAAA = "BBB"
End Sub
******************************************
--------------------------------------------------------------
PHPを実行すると BBB と表示させたいが AAA と出てくる。

ちなみに呼び出し自体はうまくいっていて、エラーにもなっていません。

投稿日時 - 2009-03-05 11:01:27

QNo.4769909

すぐに回答ほしいです

質問者が選んだベストアンサー

参照渡しもなにも、プログラムが違うのだから(それこそサーバーも、OSも言語も違うのに)、変数名を同じにしたって読めるわけもない。
「Webサービス」側プログラムでもデータ送信コードを書かないと、変更情報は何も戻ってこないし。
php側も、$resultが受け取ったデータを$AAAに入れ直してないので、いつまで経っても$AAAの値に変更はないでしょう。

投稿日時 - 2009-03-05 19:02:02

お礼

なるほど、そういうものなのですね。
やっとできました。
ありがとうございます。

投稿日時 - 2009-03-08 07:25:51

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問