[英]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.