肥皂在PHP中不起作用

时间:2013-12-19 10:12:27

标签: php api soap

我正在使用SoapClient,但我无法获得结果。我收到这个错误:

  

由于内部错误,服务器无法处理请求。   有关错误的更多信息,请打开   IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute   或者从服务器上的配置行为)来发送   异常信息返回给客户端,或者按照开启跟踪   Microsoft .NET Framework 3.0 SDK文档并检查   服务器跟踪日志。

<?php
  $silverpop = new SoapClient($my_url, array('trace' => 1));
  /*$client =   new stdClass();
  $client->LoginID  =   'mylogin-id';
  $client->LicenceKey   =   'mylicense-key';*/

  $clientobj = (object) array("LoginID" => "mylogin-id", "LicenceKey" => "mylicense-key");

  try {
    //$var  =    $silverpop->__soapCall("GetServicesforPincode",array('P_Pincode'=>'110014','P_ClientObject'=>$clientobj));
    //$var  =   $silverpop->GetServicesforPincode('110014',$clientobj);
    $var = $silverpop -> __soapCall("GetServicesforPincode", array('110014', $clientobj));
  } catch (SoapFault $exception) {
    echo $exception -> getMessage();
  }

  echo '<pre>';
  print_r($var);
?>

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您发送的数据不是根据规格或SoapServer无法正常工作。我认为第一个作为肥皂并不总是如此清晰。由于看起来错误消息实际上是由SoapServer生成的,我建议检查架构是否允许参数/调用及其格式。如果这一切都正确,请检查您是否缺少标题等。

如果以上所有方法都正确,请修复SoapServer。如果您还没有访问它,请戳主人。

答案 1 :(得分:0)

尝试{         $ client = new SoapClient($ my_url,array('trace'=&gt; 1));         $ object = new stdClass();         $ object-&gt; LoginID ='mylogin-id';         $ object-&gt; LicenceKey ='mylicense-key';

    $xml = simplexml_load_string($client->GetServicesforPincode($object));
    $json = json_encode($xml);
    print_r($json);
}

catch (SoapFault $exception) { echo $exception; }