ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで Web サービスを呼び出す方法のサンプル リファレンス

PHP_PHP チュートリアルで Web サービスを呼び出す方法のサンプル リファレンス

WBOY
WBOYオリジナル
2016-07-21 15:11:50862ブラウズ

以下は例です: Web サービスは QQ ユーザーがオンラインかどうかをクエリします

php5 を使用してクライアントを開発します:

コードをコピーします コードは次のとおりです:

try {
//$client = new SoapClient("HelloService.wsdl", array('encoding' =>'UTF-8'));
$client = new SoapClient("http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl");
var_dump($ client->__getFunctions ());
print("
");
var_dump($client->__getTypes());
print("
");

class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);

$arrResult = $client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);

echo $arrResult->qqCheckOnlineResult . "
" ;
} catch (SOAPFault $e) {
print $e;
}
?>


コードは非常に単純ですよね。SoapClient オブジェクトを作成するときに、ローカルに保存された WSDL ファイルまたはリモート アドレスを使用できます。次の配列には多くのパラメータが含まれている可能性があります。特定のパラメータについては、呼び出しメソッドのパラメータに中国語の文字が含まれている場合は、その文字セット エンコードがここに含まれています。指定しないとエラーが発生します。 Web サービスを呼び出す前に、まず SoapClient の __geunctions() メソッドと __getTypes() メソッドを呼び出して、呼び出す Web サービスによって公開されるメソッド、パラメータ、およびデータ型を確認できます。パラメータ名が渡されることに注意してください。 in は、soapclient と同じである必要があります。 内部の定義は一貫していなければなりません。一貫していないと、パラメータを渡すことができません。

SoapClient の __soapCall() または __call() メソッドを使用する必要があります。具体的な使用方法については、php のヘルプ ドキュメントを確認してください。パラメーター要件が構造体の場合は、代わりに上記のコードなどのクラスを使用してください。

私が発見したもう 1 つの問題は、Web サービス メソッドが XML 形式の文字列を返す場合、PHP は受信後に XML 文字列ではなく、データ コンテンツを独自に解析することです。


http://www.bkjia.com/PHPjc/326793.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/326793.html技術記事例を使用して説明します。 Web サービス サービスは、QQ ユーザーがオンラインであるかどうかをクエリし、php5 を使用してクライアントを開発します。 次のようにコードをコピーします。 ?php try { //$client = new SoapClient("HelloSer...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。