【问题标题】:Is WCF DataContract work in java or non .net clients?WCF DataContract 是在 java 还是非 .net 客户端中工作?
【发布时间】:2011-11-14 12:15:01
【问题描述】:

我正在开发将由非 .net 客户端(例如 Java 客户端)使用的 wcf 服务 (basicHttpBinding)。但现在我想知道,DataContract 是否会支持 jave 和其他非 .net 客户端?如果不是我的返回类型应该是什么。基本上我的服务会被非.net客户端使用,我不知道DataContract是否支持非.net客户端。

以下是我的合同和服务合同代码。

[DataContract]
public class DataResponse
    {
        string customerId;
        string version;
        string email;
        string firstName;

    [DataMember]
 public string CustomerId
        {
            get { return customerId; }
            set { customerId = value; }
        }

    [DataMember]
        public string Version
        {
            get { return version; }
            set { version = value; }
        }

[DataMember]
        public string Email
        {
            get { return email; }
            set { email = value; }
        }

    [DataMember]
        public string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }
}

[ServiceContract]
    public interface ICustomerProfile
    {
        [OperationContract]
        DataResponse GetCustomerProfile(string requestObj);
    }

请做必要的事情。

【问题讨论】:

    标签: c# asp.net wcf


    【解决方案1】:

    是的,它会起作用的。

    这里是示例 - http://adventuresinsoftware.com/blog/?p=481

    您可以按照示例中给出的步骤进行尝试。

    【讨论】:

      【解决方案2】:

      是的!

      WCF 将所有内容序列化为 XML 消息,由 XML 架构 (XSD) 文件定义。

      只要您的另一端客户端能够理解和解释 XSD 和 WSDL 文件(对于基于 SOAP 的 WCF 服务),那么是的 - 该客户端将能够读取您的数据。

      这就是 WCF 的全部意义 - 它是周围最具互操作性的 Web 服务标准,任何半途而废的客户端都可以与之交谈...

      【讨论】:

      • 如果我想发送数据数组,我的合同是什么样子的
      • @user995099:您只需定义一个标准数组...something[] myArray
      • 你能给我上述合同的样本吗
      • @user995099:你可以在你的服务上有一个方法:public DataResponse[] FetchMyData(.....) - 或者你的意思是什么??
      【解决方案3】:

      取决于您定义的绑定,而不是合同。最坏的情况是,您必须为 SOAP、JSON 或任何其他兼容技术定义另一个绑定。 IE。 WS-HTTP 不起作用。

      【讨论】:

      • “WS-HTTP 不起作用”是什么意思?这取决于客户端——如果它是一个 Java 应用程序,它可能会说 WS-HTTP。移动设备可能不会。 ...但这不是 WCF 问题 - 这是客户端(设备)功能的问题
      猜你喜欢
      • 2012-05-06
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多