【发布时间】:2017-03-29 18:18:57
【问题描述】:
我最近更换了主机,发现它们只支持 Pear 的 Soap_Client 类而不支持标准的 PHP SoapClient 类,并且在我进行切换之前查看的论坛中说相反。是否有一种特定的语法可以用来轻松地从一种切换到另一种?我对 PEAR Soap_Client 类不太熟悉,无法知道足以进行转换的差异。因此,即使两者之间有明显的区别,也将不胜感激。我已经基于此运行了几个类/函数/方法,此时必须切换主机将是相当浪费的钱。提前致谢!
编辑
这是我在哪里调用类的一个小sn-p:
try {
$soapClient = new SoapClient(
$this->webserviceWsdl,
array(
'exceptions' => 1,
'trace' => 1
)
);
} catch (SoapFault $fault) {
return json_decode(json_encode(array('status' => 'invalid', 'msg' => "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})")),1);
}
try {
$soapClient->__setLocation(str_replace(
'%%foo%%',
$this->responseConfig['foo'],
$this->webserviceEndpoint
));
} catch (SoapFault $fault) {
return json_decode(json_encode(array('status' => 'invalid', 'msg' => "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})")),1);
}
try {
$soapClient->__setSoapHeaders($this->buildSoapHeader($function));
return $soapClient->__soapCall($function, array($params));
} catch (SoapFault $fault) {
return json_decode(json_encode(array('status' => 'invalid', 'msg' => "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})")),1);
}
【问题讨论】:
-
您应该提供您当前的解决方案并寻求帮助,而不仅仅是要求 SO 解决您的问题。 stackoverflow.com/help/how-to-ask
-
我没有要求任何人解决任何问题。我只是在问是否有已知的方法,或者是否有更好的把握的人会足够了解这些差异,以便我能够理解并做出改变。每当我有问题时,我通常确实倾向于添加代码,但我认为这个代码足够具体,不需要它,因为它纯粹是一个语法问题。我的代码并没有被破坏,因为新主机只是不支持该类。我只是添加了其他部分来理解我为什么想做这样的事情。如果你愿意,我可以添加一个 sn-p。
-
我不知道答案,所以我只是赞成你的问题,希望有人能回答