2011-08-05 13 views
1

ワイヤに送信する前に、オブジェクトのシリアル化に問題があります。WCF列挙型属性を使用したXMLSerializationが無視される

基本的に私は、その以下は

<verb>Show</verb> 

としての属性を無視するクライアントプロキシコード

/// <remarks/> 
[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.2152")] 
[System.SerializableAttribute()] 
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.starstandards.org/webservices/2005/10/transport")] 
public enum OperationEnumeratedType 
{ 

    /// <remarks/> 
    /// 
    and, 

    /// <remarks/> 
    /// 
    or, 

    /// <remarks/> 
    /// 
    not, 
} 


     /// <remarks/> 
    [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)] 
    public OperationEnumeratedType operation 
    { 
     get 
     { 
      return this.operationField; 
     } 
     set 
     { 
      this.operationField = value; 
     } 
    } 

以下ですが、私のオブジェクトが

<verb operation="and">Show</verb> 

としてシリアライズすることを期待していますどのように私はこのオブジェクトを作成しています。

    verb = new CriteriaLogicStringType 
        { 
         operation = OperationEnumeratedType.and, 
         Value = "Show" 
        } 

操作属性をシリアル化されたxmlに表示する方法を知っている人はいますか?

おかげ

答えて

1

あなたはこのように、EnumMemberAttributeOperationEnumeratedType列挙のメンバーを飾る必要があります。

[DataContract] 
public enum OperationEnumeratedType 
{ 
    [EnumMember] 
    And, 
    [EnumMember] 
    Or, 
    [EnumMember] 
    Not 
} 

関連リソース:

+0

クイック返信をありがとう。残念ながら、私はXmlSerializationを使用して生成されたプロキシクラスを使用するには制限されています。 XmlSerializationを使用してこれを実現する方法を知っていますか? – daehaai

+0

@activebizサービスにリクエストをどのように送信しますか? –

+0

私はClientBaseを使用しているWCFプロキシを使用します。私は上記と同じ結果を試した。それは私がXmlSerilizerを使用してプロキシの残りの部分を持っているのでですか? – daehaai

関連する問題