我们正在连接来自C# (VS.Net 2003)应用程序的webservice (java)。在HTTP 1.0协议上运行的Web服务。另一方面,VS.Net 2003试图使用HTTP1.1协议。因此,对象的值为空值。
例如,我们得到的string5对象是正确的,但是数组的项是空值。
我们必须将HTTP协议升级到1.0。2005和2008年没有问题。
我们如何在VS2003框架1.1中做到这一点?
发布于 2009-06-24 12:29:18
你能得到一个1.0 web服务调用的预期发布内容的示例吗?如果是这样的话,请查看它,并确保所有内容都正确地传递到soap信封中,以及添加到标头中的任何设置。我刚刚更新了一个应用程序,该应用程序可用于使用WebRequest进行SOAP调用,但每次您尝试调用1.1Web服务时它都会失败。出现了多个问题。
1) NameSpace
- 1.2 = "soap12"
- 1.1 = "soap"
*Plus, the URL is different for each namespace.2) ContentType
- 1.2 = "application/soap+xml; charset=utf-8"
- 1.1 = "text/xml; charset=utf-8" 3)在调用1.1Web服务时,我必须在报头中设置SOAPAction。如果没有它,就会一直收到来自服务器的500错误。
我通过查看web服务自动生成的测试页面(其中包含SOAP1.1和1.2调用的示例)发现了这一点。然后,我将它与我们构建的SOAP信封/ our头进行了比较。一旦我们生成的内容与示例匹配,一切都如预期的那样工作。
因为我不知道您是如何调用Java web服务的,所以上面的信息可能适用,也可能不适用,但至少您有一些事情需要检查。
如果您可以发布更多关于如何在VS2003中调用web服务的具体信息(也就是:代码示例),这将有助于获得更明确的答案。
https://stackoverflow.com/questions/1036954
复制相似问题