2010-03-17 60 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。