我有一个返回 bool 值的 PHP SOAP (NuSOAP) 网络服务方法。我已经在第 3 方测试应用程序中执行了该方法,它似乎返回值很好。如果我直接查看返回的 XML 消息,它看起来也很好 - 按预期返回“true”和“false”。
但是,当我在 .NET 2.0 中编写示例应用程序以使用 Web 服务方法时,它总是返回 false。如果要求返回值作为 bool 值,则它始终为 false。如果它被请求为一个字符串,我得到一个空字符串。奇怪的是,当我使用模拟 SOAP 服务返回完全相同的 SOAP 响应时,.NET 能够正确解析它。因此,我目前的理论是问题不在于响应本身,而在于 header - PHP 正在做的事情有所不同。
有人知道这是怎么回事吗?这是 PHP 的 SOAP 实现的已知问题吗?
谢谢!
最佳答案
我不能 100% 确定这是否是 PHP 错误,但我记得我必须使用 SoapVar($var, TYPE) 专门对类型进行编码。
虽然我没有使用 NuSOAP,我认为只是 PHP 的内置 SOAP 库。
如果您还没有这样做,这可能是您遇到问题的原因。如果你是,那我有点没主意了!
关于.net - 使用 .NET 使用带有 bool 返回值的 PHP webservice 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380622/