我从.Net环境创建了一个Object of Array,如下所示:
Dim names(2) As User
names(0) = New User("param1", "param2", "param3")
names(1) = New User("param1", "param2", "param3")
这里我创建了一个包含3个String变量的User类。我还在Java环境中创建了一个具有相同String变量的User类,Java类接受User []用户。我基于Java类生成了webservice,并从.Net环境转发参数,如下所示:
Dim MyService As localhost.ReadObject = New localhost.ReadObject
Dim resultString As String = MyService.ReadParameters(names)
答案 0 :(得分: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;
}
}
然后在服务方法中使用OuterObject作为输入参数.say:
class ServiceClass{
public placeOrder(OuterObject object){
PurchaseOrder[] data = object.getOrder();
int ordernumber = data.getOrderNumber();
System.out.println("ordernumber is = " + ordernumber);
}
}
它可以工作,但只使用数组不列表,服务不支持列表。