Web服务方法无法返回DataTable?

时间:2011-05-25 13:14:57

标签: c# web-services proxy asmx

以下是Web服务方法:

[WebMethod]
[SoapHeader("m_Token", Direction = SoapHeaderDirection.InOut)]
public DataTable GetUserProfile()

以下是我用来调用此方法的代码行:

DataTable DT = (DataTable) m_ServerApp.GetUserProfile();

这是编译器抛出的错误:

无法转换类型 'WSAClient.ServerApp.GetUserProfileResponseGetUser ProfileResult'到' 'System.Data.DataTable'

有什么问题?感谢..

2 个答案:

答案 0 :(得分:0)

如果您的Web服务被Java客户端使用,那么您将破坏Soap标准,那么它将无法使用您的Web服务。它更好地返回一个XML,这也是一个肥皂标准,在客户端你可以读取数据集中的这个xml并且可以使用数据集的数据集

答案 1 :(得分:-1)

您的客户端代理方法正在返回WSAClient.ServerApp.GetUserProfileResponse.GetUserProfileResult类型的对象。您可能会发现此类型包含DataTable

我同意您不应该返回特定于.NET的类型。 Java客户端无法理解System.Data.DataTable是什么,只不过.NET客户端才能理解Java Map