[英]Convert Java Arraylist return from Java WebService to C# Arraylist
在我的C#程序中,我想使用Java Web Service方法来回复java.Util.ArrayList。 我不知道如何将Java ArrayList转换为C#ArrayList。
这是Java代码
@WebMethod
@WebResult(name = "GetLastMessages")
@SuppressWarnings("unchecked")
public ArrayList<Message> getLastMessages(@WebParam(name = "MessageCount")int count) {
....
....
return messages;
}
这是C#代码
MessagesService.MessagesService service = new MessagesService.MessagesService();
System.Collections.ArrayList arr = (System.Collections.ArrayList)service.getLastMessages(10);
我在C#中收到以下错误
Cannot convert type 'WindowsFormsApplication1.MessagesService.arrayList' to 'System.Collections.ArrayList'
如何将这些Java ArrayList转换为C#ArrayList
绝对不是考虑到Web服务互操作性编写的Java类(Java方法的确不是那么好-它应该返回List,而不是ArrayList)。 如果可以更改,请尝试将其更改为数组(返回类型:Message [])。 非常容易做到,只需将返回行更改为:
return messages.toArray(new Message[0]);
我认为,即使假设数组运行顺利(可能不会),这也只会带您回到询问该Message类的处理方式(我是否提到这不是在考虑Web Service互操作性的情况下编写的?)。
如果您无法更改Java类,则可能很不走运,但是您必须调用Web服务并获取原始XML,然后了解如何解析它才能知道您的选择。
Java中的ArrayList和C#中的ArrayList是非常不同的东西,您需要以一种双方都可以轻松理解的格式(例如XML)共享数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.