C# Web 服务客户端无法使用 Java 服务器

本文关键字:Java 服务器 Web 服务 客户端 | 更新日期: 2023-09-27 18:33:24

我正在开发一个Web服务,它在服务器中是java,并且在客户端中必须是c#。只有一个字符串作为 in 参数和 out 参数,它将返回具有此结构的"对象":

  • 字符串编码错误
  • 字符串说明错误
  • 对象2[] arrayData

像这样成为"对象 2":

  • 字符串优先数据数组
  • Int secondDataArray

我创建了一个 java 客户端,它运行完美,但 c# 客户端不起作用。它说对象的"EndElement"不是预期的(意味着对象的结束,而不是对象2(,并且它被期望为"codError"元素。

该方法不返回对象数组,只返回一个对象。

我使用了httpanalyzer,并且从java客户端和c#客户端一样,服务器重新调整格式良好的xml,并且它的包含是它应该的样子(在两个客户端中(。

我正在使用 eclipse 和 axis2 用于 java,将 Visual Studio 2005 和 2008 用于 c#。

可能出了什么问题?

提前感谢!!

C# Web 服务客户端无法使用 Java 服务器

因为Java和C#的元数据类型都不同,所以你不能通过Java的数据类型到C#。

我建议你返回XML数据格式来使用。

(Make an AXIS-Java-Server and ( 使用 Java-Server 的 WSDL 创建 C#-Client。有一个工具可以在Visual Studio命令提示符中创建Java服务器的C#类,名为SvcUtil.exe

这就像一个魅力。

问题是按

轴和日食自动生成的 WSDL 是错误的,因此,从服务器发送到客户端的 XML 也是错误的。我认为这是自下而上创建网络服务时的常见问题。最好自上而下创建它们。

服务器发送到客户端的XML类似于(只是错误的部分(:

<descError>OK</descError>
<codError>0</codError>
<object2>
    <object2>
        <firstDataArray>John</firstDataArray>
        <secondDataArray>35</secondDataArray>
    </object2>
    <object2>
        <firstDataArray>Andrew</firstDataArray>
        <secondDataArray>76</secondDataArray>
    </object2>
    <object2>
        <firstDataArray>Walter</firstDataArray>
        <secondDataArray>23</secondDataArray>
    </object2>
</object2>

那里有一个"object2"标签,不应该。它可以使用 eclipse 为 java 创建客户端,但在 c# 中则不然

我刚刚使用自上而下的实现制作了相同的 Web 服务,现在效果很好!!

感谢大家

!!