php SoapClient删除斜杠

时间:2012-10-01 07:49:19

标签: php soap-client

我在使用SoapClient时遇到了麻烦。 在我对webservice的请求中,有一些特殊符号,如@,$,'等。 当我将其添加到$params数组时,SoapClient会向其添加斜杠。但远程webservice在win-platform上工作,不会删除斜杠并返回错误。

1 个答案:

答案 0 :(得分:0)

看起来他们需要修复问题,而不是改变代码...

如果由于某种原因无法实现上述目的,您可以构建XML请求并手动发送,但这是一种不好的做法。另一种方法是使用SoapClient的一些替代方法,例如http://sourceforge.net/projects/nusoap(这个库非常简单易用)。不是100%肯定它会自动转义特殊符号,但它不会逃脱“<”和“>”就我自己而言,所以我说在你的情况下值得尝试。

或者我也尝试在SoapClient中启用强制UTF-8转换,看看是否会改变:

$client = new SoapClient('http://foobar.com/webservice.asmx?WSDL', array('trace' => 1, 'encoding'=>' UTF-8'));