2011-11-14 13 views
1

私は、非ネットクライアント(Javaクライアントなど)によって消費されるwcfサービス(basicHttpBinding)を開発しています。しかし今、DataContractはjaveやその他の.netクライアントでサポートされるのでしょうか?もし私の戻り値のタイプが何であるか分からない。基本的に私のサービスは非ネットクライアントによって消費され、DataContractが非ネットクライアントでサポートされているかどうかはわかりません。WCF DataContractはJavaクライアントまたは非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); 
    } 

お願いします。

答えて

0

はい!

WCFはすべてをXMLスキーマ(XSD)ファイルで定義されたXMLメッセージにシリアル化します。

クライアントがXSDとWSDLファイル(SOAPベースのWCFサービスの場合)を理解し解釈できる限り、そのクライアントはデータを読み取ることができます。

WCFの全体のポイントだ - それは周りのほとんどの相互運用可能なWebサービスの標準だと任意の途中でまともなクライアントがそれに話すことができます...

+0

データの配列を送信したい場合の契約方法 – user995099

+0

@ user995099:あなたは何かの標準配列を定義するだけです... 'something [] myArray' –

+0

上記契約のサンプルを私に与えることができます – user995099

0

は、ユーザーが定義したバインディングではなく、契約に依存します。最悪の場合は、SOAP、JSON、または他の互換性のあるテクノロジの別のバインディングを定義する必要があるということです。つまりWS-HTTPは機能しません。

+0

「WS-HTTPは動作しません」とはどういう意味ですか?これはクライアントに依存します.Javaアプリの場合、WS-HTTPをよく話すかもしれません。モバイルデバイスはおそらくそうではありません。 ...それはWCFの問題ではありません。クライアント(デバイス)の機能の問題です –