公司业务需要,要求用 php 来调用 .Net 的 soap 服务,php5 默认的 soapclient 会给所有请求的数据加上 ns1 的 namespace,好像也没有找到可以配置的地方,所以会造成默认情况下的调用失败。最后通过重载系统 SoapClient 类的请求方法,解决了这个问题。 相关代码放在下面给需要的朋友参考: 1 2 3 4 5 6 7 8 9 class DotNetSoapClient extends SoapClient { function __doRequest($request, $location, $action, $version) { $namespace = ‘http://xxxx’; $request = preg_replace(’/<ns1:(\w+)/’, ‘<$1 xmlns="’.$namespace.’"’, $request, 5); //最后面的数字可能要根据你的实际业务需要调整 $request = preg_replace(’/<ns1:(\w+)/’, ‘<$1′, $request); $request = str_replace(array(’/ns1:’, [...]
Pages
Categories
-
Recent Comments
- arno on 在淘宝被诈骗5.46万始末
好可怕啊,騙子越來越聰明了。 …
- 野草博客 on 在淘宝被诈骗5.46万始末
《淘宝防骗绝招:购物与支付分别由两人独立操作。》 http://yeahcao.blog.hexun.com/61725398_ …
- 狐猴 on 娘的,被挂马了…
这莫非是破解模板上的? …
- 韩国 on 娘的,被挂马了…
我也看过很多博主写过有关这方面的文章,最简单挂马的网站就是开源程序,是最基础的挂马第一课。 …
- Lorencomiz on Just a fun photo.
I need to contact site admin urgently. Can you understand me? T …
- arno on 在淘宝被诈骗5.46万始末
Archives