2017-01-20 3 views
0

私はサービスとデータコントラクトと私のWindowsアプリケーションでWCFサービスをホストしていますWCF OperationContract

[ServiceContract] 
[FaultContract(typeof(object))] 
[ServiceKnownType(typeof(busSample))] 
public interface IUPSBusinessTier 
{ 

    [OperationContract] 
    string TestMethod1(string astrName); 

    [OperationContract] 
    void TestMethod2(busSample abusSample); 

    [OperationContract] 
    busSample TestMethod3(string astrName); 

    [OperationContract] 
    string TestMethod4(object astrName); 
} 

[DataContract] 
public class busSample 
{ 

    [DataMember] 
    public string istrName { get; set; } 

    public busSample() 
    { 

     this.istrName = "ABC"; 
    } 
} 

テストサービスは、デシリアライザがどのタイプのに知識がない」などのエラーを取得、WCFTestClientを使用している間シリアル化されているタイプが、ここで入力したコードをデシリアライズするのと同じ契約をしていることを確認してください。

+0

どのような方法でエラーが表示されますか? – Tim

+0

どこでエラーが発生しますか? – Tim

答えて

0

私はあなたがクラスからメソッドにフォールトコントラクトの属性を移動する必要があると思います。

[ServiceContract] 
//[FaultContract(typeof(object))] 
[ServiceKnownType(typeof(busSample))] 
public interface IUPSBusinessTier 
{ 
    [FaultContract(typeof(object))] 
    [OperationContract] 
    string TestMethod1(string astrName); 

    [FaultContract(typeof(object))] 
    [OperationContract] 
    void TestMethod2(busSample abusSample); 
関連する問題