微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – 通过wsHttpBinding在PHP中调用WCF WebService

我有一个WCF web服务,我可以通过basicHttp连接到它,但不是wsHttp.我尝试通过以下方式通过wshttp与它联系:

$service = new SoapClient
("http://service.companyname.local:6666/Service/?wsdl",
 array(
         "location" => "http://service.companyname.local:6666/Service/WCF",

    "trace" => true,
    'soap_version' => SOAP_1_2
     )
);

对SoapClient构造函数调用返回正常.当我尝试使用$client-> FunctionName调用一个时,页面只是在那里加载了很长一段时间,并最终返回错误“Error Fetching http headers”.究竟是什么意思,我该如何解决? (从.Net客户端使用该服务非常有效.)

解决方法:

wsHttpBinding上的default config使用了vanilla PHP SoapClient无法理解的高级WS-Security和WS-Addressing功能.还有其他PHP可访问的SOAP客户端可能能够工作(例如Apache Axis2 Rampart / C),或者您可以尝试关闭一些不兼容的wsHttpBinding功能(消息安全性可能是第一个).并不是说它不起作用,但你可能需要一些反复试验才能使它全部正常工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐