【问题标题】:How to consume WCF WebServices from PHP?如何从 PHP 使用 WCF WebServices?
【发布时间】:2010-03-31 18:32:25
【问题描述】:

我必须使用 WCF WebServices,但 WSDL 包含 PHP 也不支持的绑定。

SOAP-ERROR:解析 WSDL:PHP-SOAP 不支持传输“http://schemas.microsoft.com/soap/named-pipe

如何绕过这个问题?

【问题讨论】:

    标签: .net php wcf soap


    【解决方案1】:

    您似乎正在使用net named pipe binding 公开服务。这很可能不适用于 php,因为它不知道如何通过命名管道使用 SOAP/WS。

    相反,您将希望使用basic HTTP bindingWS HTTP binding 来公开您的服务,然后然后在PHP 中使用它。

    【讨论】:

    • 碰巧我公开了多个绑定,包括您为 PHP 推荐的那些。问题是我的 PHP 客户端不希望不兼容的出现在 WSDL 中,我不知道如何从 WSDL 中删除它们。
    • @estourodepilha.com:您可以在获取 PHP 客户端的 WSDL 时关闭 MEX 端点。注意这里PHP客户端真的应该忽略这一点,不一定是WCF的错。
    【解决方案2】:

    如果您可以控制 WCF 服务,一个解决方案是手动从 WSDL 中删除不受支持的绑定,并将 WSDL 保存在另一个位置并使用以下命令指向它:

    <system.serviceModel>
      <behaviors>
        <serviceBehaviors>
          <behavior name="test">
            <serviceMetadata 
               externalMetadataLocation="http://YourServer/Service/MyService.wsdl"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
    </system.serviceModel>
    

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2012-01-03
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      相关资源
      最近更新 更多