[英]Connecting to a WCF Service in PHP that has a a NetTCP Binding and a BasicHttpBinding
我有一个WCF服务。 它有多个客户端和三个端点。 端点绑定是nettcp,wsHttp和basicHttp。 如果我尝试通过php'd builtin SoapClient类连接到它,如下所示:
$service = new SoapClient
("http://service.companyname.local:6666/Service/?wsdl",
array(
"location" => "http://service.companyname.local:6666/Service/Basic",
"trace" => true,
'soap_version' => SOAP_1_1
)
);
我得到以下内容:
PHP Fatal error: SOAP-ERROR: Parsing WSDL: PHP-SOAP doesn't support transport 'http://schemas.microsoft.com/soap/tcp' in c:\www\client.php on line 666
现在我的解决方法是手动保存wsdl并删除nettcp绑定。 有没有一种解决方法可以让我使用自动生成的wsdl? 我可以在web.config中隐藏wsdl的绑定吗? 我可以在不同的绑定上生成不同的wsdl。 我不想部署两个服务主机。
我用PHP提交了一个功能请求 。 如果他们实现了这一点,我会将此标记为正确答案。 我仍然愿意接受更好的解决方法。
更新:我提交了一个补丁来实现这个。 我正在等待它的批准。
更新:补丁致力于svn。 等待PHP的下一个版本。
更新:补丁现在是PHP 5.3.3和5.2.14的一部分。
我目前正在研究的另一个选项是PHP的第三方soap客户端,名为WSF-PHP 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.