C# soapweb服务的问题

C# soapweb服务的问题,c#,.net,web-services,C#,.net,Web Services,我正在尝试使用由第三方提供的SOAP Web服务。我在.NET3.5中无法使服务正常工作。我把它添加为一个网络参考,一切似乎都进行得很顺利。问题是,当我调用该服务时,返回的只是一个空对象。我已与提供商合作,该服务似乎工作正常。他确实提到: “我们正在使用Axis2 Document/Literal并支持SOAP 1和SOAP 2。” 我不太清楚这意味着什么,因为我是使用Web服务的半新手。我是否需要在.NET中更改一些配置参数或其他内容以使此服务正常工作?Doc/lit(至少是SOAP 1)应该

我正在尝试使用由第三方提供的SOAP Web服务。我在.NET3.5中无法使服务正常工作。我把它添加为一个网络参考,一切似乎都进行得很顺利。问题是,当我调用该服务时,返回的只是一个空对象。我已与提供商合作,该服务似乎工作正常。他确实提到:

“我们正在使用Axis2 Document/Literal并支持SOAP 1和SOAP 2。”

我不太清楚这意味着什么,因为我是使用Web服务的半新手。我是否需要在.NET中更改一些配置参数或其他内容以使此服务正常工作?

Doc/lit(至少是SOAP 1)应该与WCF一起工作,但我不确定遗留(在.NET 3.0之前)web服务客户端如何处理这一问题

您是否在Visual Studio中添加了web引用或服务引用?如果您添加了一个web引用,那么您没有使用WCF,这可能是它不起作用的原因。如果是这种情况,您应该删除web引用,看看添加一个服务引用是否有帮助。

Doc/lit(至少是SOAP 1)应该与WCF一起使用,但我不确定遗留(在.NET 3.0之前)web服务客户端如何处理这一问题


您是否在Visual Studio中添加了web引用或服务引用?如果您添加了一个web引用,那么您没有使用WCF,这可能是它不起作用的原因。如果是这种情况,您应该删除web引用,看看添加服务引用是否有帮助。

根据我的经验,web服务互操作性并不是它所声称的神奇之处。特别是在.NET和Java之间

  • Axis2是一个Java web服务“引擎”
  • Document/Literal是一种特殊的SOAP外观
  • SOAP1和SOAP2(您可能知道)消息格式及其特定版本
我得到的只是一个空对象

一开始不多,你能提供更多的信息吗


我建议您尝试拦截交换的SOAP消息(您可以使用),并检查它们是否有效。如果远程服务无法处理您的请求,您可能会遇到异常,因此我猜您的客户端在解析响应时遇到了一些问题。此外,您还可以使用生成示例请求来查看有效请求的外观。

根据我的经验,web服务互操作性并不是它所宣称的神奇之处。特别是在.NET和Java之间

  • Axis2是一个Java web服务“引擎”
  • Document/Literal是一种特殊的SOAP外观
  • SOAP1和SOAP2(您可能知道)消息格式及其特定版本
我得到的只是一个空对象

一开始不多,你能提供更多的信息吗


我建议您尝试拦截交换的SOAP消息(您可以使用),并检查它们是否有效。如果远程服务无法处理您的请求,您可能会遇到异常,因此我猜您的客户端在解析响应时遇到了一些问题。此外,您可以使用生成示例请求,以查看有效请求的外观。

听起来您生成的代理(通过添加web引用)没有将xml反序列化为您期望的类型

正如建议的那样,我要做的第一件事是跟踪发送到服务的消息和接收到的响应——这样,您可以检查xml,您可以检查代理是否正在创建合适的请求消息,并查看响应是否包含未反序列化到您期望的对象中的数据

除了tcpmon,您还可以(从microsoft)使用它来跟踪流量,或者最简单的方法是在请求和响应文件中打开消息跟踪,然后在

对于这些互操作性问题,我发现最好的办法是首先查看“在线”消息——然后可能需要调整wsdl,以便正确生成代理,或者自己手工制作代理


如果您发布wsdl和您的代理,这可能会为我们提供有关问题的线索,那么听起来您生成的代理(通过添加web引用)并没有将xml反序列化为您期望的类型

正如建议的那样,我要做的第一件事是跟踪发送到服务的消息和接收到的响应——这样,您可以检查xml,您可以检查代理是否正在创建合适的请求消息,并查看响应是否包含未反序列化到您期望的对象中的数据

除了tcpmon,您还可以(从microsoft)使用它来跟踪流量,或者最简单的方法是在请求和响应文件中打开消息跟踪,然后在

对于这些互操作性问题,我发现最好的办法是首先查看“在线”消息——然后可能需要调整wsdl,以便正确生成代理,或者自己手工制作代理


如果您发布wsdl和您的代理,可能会为我们提供有关问题的线索

这已作为服务引用添加,而不是web引用这已作为服务引用添加,而不是web引用