Как отправить объект массива из .Net в Java с помощью веб-сервисов? - PullRequest
0 голосов
/ 02 марта 2012

Я создал массив объектов из среды .Net следующим образом:

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

Здесь я создал класс User с 3 строковыми переменными. Я также создал класс User в среде Java с теми же строковыми переменными, и класс Java принимает пользователя User []. Я сгенерировал веб-сервис на основе класса Java и перенаправил параметр из среды .Net следующим образом:

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

1 Ответ

1 голос
/ 10 июля 2012

я сделал то, что тебе нужно.если вы передаете объект массива (список не поддерживается в WebService), то в Java вам нужно использовать класс, который имеет переменную типа массива, затем сгенерировать метод получения и установки этого типа массива и затем снова сгенерировать wsdl.если вы сделаете это, то java-сервис примет ваш массив ввода.

предположим, что вашему сервису нужно отправить объект массива типа «PurchaseOrder», затем скажите:

class OuterObject{

    public PurchaseOrder[] order;

    public PurchaseOrder[] getOrder() {

        return order;
    }

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

         this.order = order;
    }

}

, затем используйте OuterObject в качестве входного параметрав вашем сервисе method.say:

class ServiceClass{

  public placeOrder(OuterObject object){

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

   }

}

это будет работать, но использовать только массив, а не список, сервис не поддерживает список.

...