1

我有一个看起来像这样的 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?

4

1 回答 1

1

使用 Web 服务客户端库而不是手动调用服务。对于 .NET,svcutil 工具将用于创建所需的客户端代码。看起来类似的东西可用于 java:Java 中存在哪些与 .NET 的 svcutil.exe 等效的工具?

于 2012-07-14T19:51:45.713 回答