Web サービスを呼び出す 2 番目の方法で読み取られたエラーは何ですか?
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> require('./soap_lib/nusoap.php');
require('./include.php');
ini_set("soap.wsdl_cache_enabled", "1");
$s = new SoapClient(url_site."/WebServices/Service1.asmx?wsdl");
$s->soap_defencoding = 'UTF-8';
$s->decode_utf8 = false;
// $result=$s->call('UserInfo',array('user'=> urldecode($_GET['username'])));
$result=$s->UserInfo(array('user'=> urldecode($_GET['username'])));
//var_dump($result);exit;
// if (!$err=$s->getError()) {
// $list=explode(";",$result["UserInfoResult"]);
// array_pop($list);
// } else {
$list=explode(";",$result->UserInfoResult);
array_pop($list);
?>
ログイン後にコピー
コメントアウトされた部分は、ws を呼び出す以前の方法であり、After を置き換えます。ホストを取得する際にサポートされていませんでした。その後、Google で検索して 2 番目の方法を見つけましたが、
問題の原因は
$result であるということです。 =$s->UserInfo (array('user'=> urldecode($_GET['username'])));
実行時にはデータがありません
プロンプト
致命的なエラー : キャッチされない SoapFault 例外: [soap:Server] System.Web.Services.Protocols.SoapException: サーバーはリクエストを処理できません。 ---> System.IndexOutOfRangeException: 位置 0 に行がありません。 System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex) で System.Data.RBTree`1.get_Item(Int32 インデックス) で System.Data.DataRowCollection.get_Item(Int32 インデックス) で WebService1.Service1.UserInfo(String user)場所
質問:
if (!$err=$s->getError()) このメソッドが失敗した場合の書き方
-----解決策-------------------------------- アバターはいつ変更しましたか?
------解決策--------- WebService1.Service1.UserInfo(String user)
これは .NET です。
ユーザーはSTRIN形式です。