使用带有.NET的布尔返回值来使用PHP webservice方法

时间:2010-03-04 15:51:17

标签: .net php web-services soap wsdl

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:0)

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

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

如果您没有这样做,可能是您的问题的原因。如果你是,那我就有点想法了!

答案 1 :(得分:0)

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