2011-03-31 40 views
0

我有一个场景,我必须将数组列表传递给WebService。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.DTContractDTContract 例外。这是因为当webservice创建proxey考虑Type(DTContract)不是namespace(BOLibrary.Flight.DTContract) ,我必须通过BOLibrary.Flight.DTContract类型的列表或阵列列表。

请帮助... 在此先感谢...

+0

'GetCommission'需要一个'名单',你为什么转换'.ToArray'? – 2011-03-31 13:47:16

+0

我不认为你通过ArrayList – kd7 2011-03-31 13:48:18

回答

-1

用途: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); 
+0

它不工作.. – Shivi 2011-03-31 14:48:24

+0

什么是*不工作*?什么是错误/描述? – 2011-04-01 10:54:57