日期:2014-05-17  浏览次数:20392 次

调用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格式。