2009-06-24 125 views
0

我们正在连接来自C#(VS.Net 2003)应用程序的Web服务(Java)。在HTTP 1.0协议上运行的Web服务。另一方面,VS.Net 2003尝试使用HTTP 1.1协议进行访问。 因此对象是空值。Web服务.NET Framework问题

例如,我们正在获取字符串[5]对象正确,但数组的项目为空值。

我们必须将HTTP协议转换为1.0。 2005年和2008年没有问题。

我们如何在VS 2003框架1.1中做到这一点?

回答

0

您能举一个例子,了解1.0 web服务调用的预期内容吗?如果是这样,请仔细阅读并确保所有内容都正确地传递到肥皂信封中,并确保将所有设置添加到标题中。我刚刚更新了一个可用于使用WebRequest进行SOAP调用的应用程序,并且每次尝试调用1.1 Web服务时都会失败。有多个问题。

1)命名空间

- 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.1 web服务我不得不设置的SOAPAction在头中。没有它,从服务器不断收到500错误。

我通过查看由Web服务生成的自动生成的测试页(它具有SOAP 1.1和1.2调用的示例),发现了这一点。然后,我将它与我们正在构建的SOAP信封/标题进行比较。一旦我们产生的结果与例子相匹配,所有的都按预期工作。

由于我不知道你是如何调用Java Web服务的,上面的信息可能适用,也可能不适用,但至少你有一些事情要检查。

如果您可以发布更多关于如何在VS2003中调用Web服务的特定信息(又名:代码示例),它将有助于获得更明确的答案。