我有一个看起来像这样的WCF服务
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml)]
CompositeType GetCompositeTypeForUser(int userid);
...使用看起来像这样的CompositeType对象:
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public List<string> stuffAroundMe = new List<string>();
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
每当我调用我的服务时,我都会收到一小段描述特定CompositeType的XML数据。有没有办法在客户端返回一个CompositeType对象,而不必解析一堆XML并手动创建一个新的CompositeType对象?
此外,我的代码既存在于Visual Studio上的C#中,也存在于Android应用程序上的Java上(实际调用Web服务的代码)。当我可以控制从两侧传递的对象时,有没有办法避免解析大量的xml?
答案 0 :(得分:1)
使用Web服务客户端库而不是手动调用服务。对于.NET,svcutil工具将用于创建所需的客户端代码。看起来类似的东西可用于java:What tools exist in Java that are equivalent to svcutil.exe for .NET?