【问题标题】:Consuming PHP webservice method with a boolean return value with .NET使用 .NET 使用具有布尔返回值的 PHP Web 服务方法
【发布时间】:2010-03-04 15:51:17
【问题描述】:

我有一个返回布尔值的 PHP SOAP (NuSOAP) Web 服务方法。我已经在 3rd 方测试应用程序中执行了该方法,它似乎返回了正确的值。如果我直接查看返回的 XML 消息,它看起来也很好 - 应该返回“true”和“false”。

但是,当我在 .NET 2.0 中编写示例应用程序以使用 Web 服务方法时,它总是返回 false。如果将返回值作为布尔值请求,则它始终为 false。如果它是作为字符串请求的,我会得到一个空字符串。奇怪的是,当我使用模拟 SOAP 服务返回完全相同的 SOAP 响应时,.NET 能够正确解析它。所以,我目前的理论是问题不在于响应本身,而在于标头 - PHP 所做的事情有所不同。

有人知道这里发生了什么吗?这是 PHP 的 SOAP 实现的已知问题吗?

谢谢!

【问题讨论】:

    标签: .net php web-services soap wsdl


    【解决方案1】:

    我不能 100% 确定这是否是 PHP 错误,但我记得我必须使用 SoapVar($var, TYPE) 专门对类型进行编码。

    虽然我没有使用 NuSOAP,我认为只是 PHP 的内置 SOAP 库。

    如果您还没有这样做,则可能是您的问题的原因。如果你是,那我有点没主意了!

    【讨论】:

      【解决方案2】:

      听起来这个问题确实是消费者端的误解,但总的来说,我建议您放弃 NuSOAP(真的很老!!)并使用 PHP 的 SOAP 库。它只是更好,更强大,它可能只是用魔法解决你的问题。

      【讨论】:

        猜你喜欢
        • 2013-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-28
        • 2016-01-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多