Сгенерированный в C # метод прокси, отличный от оригинального метода сервиса Java - PullRequest
0 голосов
/ 03 декабря 2009

У меня есть служба Java, которая имеет следующую сигнатуру метода:

       @WebMethod(operationName = "getContactList")
        public MyListClass getContactList(@WebParam(name = "myList") MyListClass myList) throws IllegalArgumentException {
                return myList;
        }

public class MyListClass implements Serializable{
List<ContactOD> innerList;

    public List<ContactOD> getInnerList() {
        if(innerList == null){
            innerList = new ArrayList<ContactOD>();
        }
        return innerList;
    }

    public void setInnerList(List<ContactOD> innerList) {
        this.innerList = innerList;
    }

}

Когда я генерирую прокси в C # для этого сервиса Java, я получаю сигнатуру метода следующим образом:

   public ContactOD[]  getContactList(ContactOD[] myList)

Я не вижу нигде в моем сгенерированном прокси MyListClass , который оборачивает это List<ContactOD>.

Что мне нужно сделать с веб-службой Java или генерацией прокси на C #, чтобы я мог видеть в прокси-классе такой метод:

public MyListClass getContactList(MyListClass myList)

Большое спасибо, Adriana

Ответы [ 2 ]

1 голос
/ 03 декабря 2009

Генератор прокси в Visual Studio не будет напрямую отображать Java List в C # List, а будет обрабатывать его как массив. На стороне C # самое простое, если вы хотите работать с коллекциями Generic, - это просто использовать List в другом месте и затем создавать в / из T [] при использовании метода веб-службы.

т.

List<ContactOD> contacts = new List<ContactOD>();
contacts.Add(New ContactOD("Tim", "0123456789"));
List<ContactOD> returnValue = new List<ContactOD>(ProxyHolder.getContactList(contacts.ToArray());
0 голосов
/ 03 декабря 2009

Когда вы генерируете прокси WCF, вы можете выбрать, какой тип коллекции использовать.

В командной строке соответствующая опция: /collection:"<type>", где указано полное имя типа.

В интерфейсе добавления справочника услуг есть раскрывающийся список с дополнительными параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...