我有一个PHP SOAP(NuSOAP)Web服务方法,它返回一个布尔值。我在第三方测试应用程序中执行了该方法,似乎返回值很好。如果我直接查看返回的XML消息,它看起来也很好 - 当它应该返回时返回“true”和“false”。
但是,当我在.NET 2.0中编写示例应用程序以使用Web服务方法时,它总是返回false。如果返回值是作为布尔值请求的,则它始终为false。如果它是一个字符串请求,我得到一个空字符串。奇怪的是,当我使用模拟SOAP服务返回完全相同的SOAP响应时,.NET能够正确解析它。所以,我目前的理论是,问题不在于响应本身,而在于标题 - PHP正在做的事情有所不同。
有谁知道这里发生了什么?这是PHP的SOAP实现的已知问题吗?
谢谢!
答案 0 :(得分:0)
我不确定这是否是PHP错误,但我记得我必须使用SoapVar($ var,TYPE)对类型进行专门编码。
我当时没有使用NuSOAP,我认为只是PHP的内置SOAP库。
如果您没有这样做,可能是您的问题的原因。如果你是,那我就有点想法了!
答案 1 :(得分:0)
听起来这个问题听起来是消费者端的错误传达,但总的来说我建议你放弃NuSOAP(真的很老!!)并使用PHP的SOAP库。它更好,更强大,它可能只是通过魔法解决你的问题。