调用webservice的第二种方式的异常读取是怎样的
时间:2021-07-01 10:21:17
帮助过:8人阅读
调用webservice的第二种方式的错误读取是怎样的
PHP code
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的方式,换了主机之后居然不支持了,,接着找谷歌,发现第二种方式,但是没指明怎样抓取错误信息
导致的问题是如果
$result=$s->UserInfo(array('user'=> urldecode($_GET['username'])));
执行出来没有数据
提示
Fatal error: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.IndexOutOfRangeException: 在位置 0 处没有任何行。 在 System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex) 在 System.Data.RBTree`1.get_Item(Int32 index) 在 System.Data.DataRowCollection.get_Item(Int32 index) 在 WebService1.Service1.UserInfo(String user) 位置
questions:
if (!$err=$s->getError()) 这个方法失效了 该怎么写
------解决方案--------------------什么时候把头像换了
------解决方案-------------------- WebService1.Service1.UserInfo(String user)
这个是.NET。
user 是STRIN格式。