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#。
可能出了什么问题?
提前感谢!!
因为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 服务,现在效果很好!!
感谢大家