2012-03-02 49 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); 

    } 

} 

它会工作但是只使用数组而不是列表,服务不支持列表。

相关问题