我们公司有个webservice   要用php 调用 
   print_r( $client->__getFunctions ()); 这个方法   
显示的是Array ( [0] => SendListenResponse SendListen(SendListen $parameters) [1] => SendListenResponse SendListen(SendListen 
$parameters) ) 
   print_r($client->__getTypes () );  这个方法 显示的 是  
Array ( [0] => struct SendListen { base64Binary BytecmdName; base64Binary ByteValue; } [1] => struct SendListenResponse { 
base64Binary SendListenResult; } [2] => string StringArray[] ) 
我怎么写语句啊???  
我写的是 $client = new SoapClient('htt/127.0.0.1/Service.asmx?wsdl');//没法发链接  所以只能这样 
   $para = array('BytecmdName'=> $arr11,'ByteValue'=> $arr22);  //arr11,arr22 都是正确的值
   //$res =array();
   $res = $client->__Call('SendListen',array('parameters'=>$para))->SendListenResult;
怎么返回的$res是错误的啊?  求帮忙!!!

解决方案 »

  1.   

    参数类型正确了      我们同事用c# 写   byte[]a = (byte[]) base.Invoke("SendListen", new object[] { BytecmdName, ByteValue })[0];  都能正确得到的  
      

  2.   

      返回的是 10g R?Vhzᅳ}"_??Q?~ĵL?P0
      

  3.   

    我觉得返回的内容是   10请从客户端登陆      前面10有了 后面汉字可能。  我也不知道!!!!!
    烦死了  但是 返回的内容应该是  base64Binary  啊  应该是  byte[]  类型的  
      

  4.   

    那还是你传入的参数是错误的c# 写 byte[]a = (byte[]) base.Invoke("SendListen", new object[] { BytecmdName, ByteValue })[0]; 都能正确得到的 
    你需要模拟c#的过程应该说,你们的这个 webservice 是残废的,因为他不能接受和输出xml明文