2010-03-17 78 views
1

在我的C#程序中,我想要使用回答java.Util.ArrayList的Java Web服务方法。我不知道如何将Java ArrayList转换为C#ArrayList。将Java Arraylist从Java WebService转换为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

回答

1

这绝对不是一个用Web Service互操作性编写的Java类(也不是Java方法的好处 - 它应该返回List,而不是ArrayList)。如果可以更改它,请尝试将其更改为数组(返回类型:Message [])。很容易做到,只需更改回行改为:

return messages.toArray(new Message[0]); 

我认为这只会导致你马上回SO询问如何处理消息类做(我提到这不符合Web服务的书面考虑互操作性?),甚至假设数组运行顺利(可能不会)。

如果您无法更改Java类,那么您可能非常不幸运,但是您必须调用Web服务并获取原始XML,然后查看解析它的方法以了解您的选项是。

0

Java中的ArrayList和C#中的ArrayList是非常不同的事情,您需要以双方易于理解的格式共享数据,例如, XML。

相关问题