Проблема приведения типа запроса webService - PullRequest
0 голосов
/ 31 марта 2011

У меня есть сценарий, в котором мне нужно передать список массивов в WebService.

WebService:

 [WebMethod]    
   public void GetCommission(List<BOLibrary.Flight.DTContract> Loc)
    {
        CommissionManager test = new CommissionManager();
    }

Клиент:

 List<BOLibrary.Flight.DTContract> BoList = new List<BOLibrary.Flight.DTContract>();
        BOLibrary.Flight.DTContract dtConboj = new BOLibrary.Flight.DTContract();
        dtConboj.ValidatingCarrier = "AA";
        DTContract[] loc1 =  BoList .ToArray();
        service.GetCommission(loc1);

когда я пытаюсь это сделать, я получаю исключение, которое не может преобразовать BOLibrary.Flight.DTContract в DTContract Это потому, что когда веб-сервис создает прокси, учитывайте Type(DTContract), а не namespace(BOLibrary.Flight.DTContract)Чтобы передать список или список BOLibrary.Flight.DTContract Тип.

, пожалуйста, помогите ... Спасибо заранее ...

1 Ответ

0 голосов
/ 31 марта 2011

Использование: GetCommission(DTContract[] Loc)

Вы пробовали боксировать?

//Server
public void GetCommission(object oLoc) //or GetCommission(DTContract[] Loc)
{
List<BOLibrary.Flight.DTContract> Loc = oLoc as List<BOLibrary.Flight.DTContract>();

...
}

//Client
service.GetCommission(loc1 as object);
...