我正在使用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);
?>
我做错了什么?
答案 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; }