2012-03-02 85 views
0

我創建的對象的Array從.NET環境如下:如何使用webservices將.NET對象從.Net發送到Java?

Dim names(2) As User 
    names(0) = New User("param1", "param2", "param3") 
    names(1) = New User("param1", "param2", "param3") 

在這裏,我已經創建了一個用戶類具有3個字符串變量。我還在Java環境中使用相同的字符串變量創建了一個User類,並且Java類接受User []用戶。我生成web服務基於Java類和來電轉駁從.NET環境的參數如下:

 Dim MyService As localhost.ReadObject = New localhost.ReadObject 
     Dim resultString As String = MyService.ReadParameters(names) 
+0

我解決了這個問題。我沒有在客戶端創建User類,而是在服務器端創建並通過使用Web服務引用訪問它來創建User對象。 – user1227035 2012-03-13 18:59:20

回答

1

我已經做了你所需要的。如果傳遞數組對象(列表在WebService中不受支持),那麼在java中,您需要使用具有變量數組類型的類,然後生成該變量數組類型的getter和setter,然後再次生成wsdl。 如果你這樣做,那麼java服務將接受你的數組輸入。然後

假設你的服務需要發送「的PurchaseOrder」類型的數組對象的說:

class OuterObject{ 

    public PurchaseOrder[] order; 

    public PurchaseOrder[] getOrder() { 

     return order; 
    } 

    public PurchaseOrder[] setOrder(PurchaseOrder[] order) { 

     this.order = order; 
    } 

} 

然後在您的服務method.say使用OuterObject作爲輸入參數:

class ServiceClass{ 

    public placeOrder(OuterObject object){ 

     PurchaseOrder[] data = object.getOrder(); 
     int ordernumber = data.getOrderNumber(); 
     System.out.println("ordernumber is = " + ordernumber); 

    } 

} 

它會工作但是隻使用數組而不是列表,服務不支持列表。

相關問題