php SoapClient删除斜杠
我和SoapClient有麻烦。 在我对webservice的请求中,有一些特殊的符号,如@、$、'等。php SoapClient删除斜杠,php,soap-client,Php,Soap Client,我和SoapClient有麻烦。 在我对webservice的请求中,有一些特殊的符号,如@、$、'等。 当我将其添加到$params数组时,SoapClient会向其添加斜杠。但远程Web服务在win平台上工作,不会删除斜杠并返回错误。看起来是他们需要解决的问题,而不是您需要更改代码 如果由于某种原因无法执行上述操作,则可以构建XML请求并手动发送,但这是一种不好的做法。另一种方法是使用SoapClient的替代品,例如(这个库使用起来非常简单)。不是100%确定它会自动转义特殊符号,但它本身
当我将其添加到
$params
数组时,SoapClient会向其添加斜杠。但远程Web服务在win平台上工作,不会删除斜杠并返回错误。看起来是他们需要解决的问题,而不是您需要更改代码
如果由于某种原因无法执行上述操作,则可以构建XML请求并手动发送,但这是一种不好的做法。另一种方法是使用SoapClient的替代品,例如(这个库使用起来非常简单)。不是100%确定它会自动转义特殊符号,但它本身不会转义“”,所以我认为在您的情况下值得尝试
或者我还尝试在SoapClient中启用强制UTF-8转换,以查看这是否会改变情况:
$client = new SoapClient('http://foobar.com/webservice.asmx?WSDL', array('trace' => 1, 'encoding'=>' UTF-8'));
我不能说要从提供商方面解决这个问题(你说的“手动XML请求”是什么意思?通过我自己的类和重写_doRequest方法来实现?谢谢,我会尝试nusoap,我想,但我想从盒子中使用客户端,这比使用其他方法要好一点。我的意思是将你自己的XML编写为字符串并发送到服务器,实际上是的,编写你自己的实现:(顺便问一下,您是否尝试过“encoding”参数?