WCF Messagecontract的命名空间问题

WCF Messagecontract的命名空间问题,wcf,namespaces,datacontract,messagecontract,Wcf,Namespaces,Datacontract,Messagecontract,我们开发了一个WCF,它使用消息契约作为参数。当我为它们生成WSDL时,对于某些消息契约,WCF正在添加Namesapce,即使我正在用我的自定义名称空间覆盖MessageContract的名称空间属性。请帮助我重写默认名称空间 下面是合同和WSDL的示例代码 [ServiceBehavior(Namespace="http://www.example.com/unh0/xwds/wd/service/0")] public class WithholdingDeterminationLiteS

我们开发了一个WCF,它使用消息契约作为参数。当我为它们生成WSDL时,对于某些消息契约,WCF正在添加Namesapce,即使我正在用我的自定义名称空间覆盖MessageContract的名称空间属性。请帮助我重写默认名称空间

下面是合同和WSDL的示例代码

[ServiceBehavior(Namespace="http://www.example.com/unh0/xwds/wd/service/0")]
public class WithholdingDeterminationLiteService : IWithholdingDeterminationLiteService 
{   
    public withholdingDeterminationResponse WithholdingDeterminationLite(withholdingDeterminationLiteRequest request)
    {
        throw new NotImplementedException();
    } 
}



[MessageContract(WrapperNamespace = "http://www.example.com/unh0/xwds/wd/lite/request/1")]
public class withholdingDeterminationLiteRequest : baseVersionableType
{

    …
    private withholdingDeterminationLiteRequestTrade tradeField;

    …

    /// <remarks/>
    [MessageBodyMember(Namespace = "http://example.com/xods/common/1")]
    public withholdingDeterminationLiteRequestTrade trade
    {
        Get  { return this.tradeField; } set { this.tradeField = value; }
    }

    …
}
由此生成的WSDL具有

 <wsdl:definitions  …>
    <wsdl:types>
    <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.example.com/unh0/xwds/wd/lite/request/1">
    <xsd:element name="withholdingDeterminationLiteRequest">
    <xsd:complexType>
    <xsd:sequence>
    …
    <xsd:element xmlns:q2="http://schemas.datacontract.org/2004/07/" minOccurs="1" name="trade" type="q2:withholdingDeterminationLiteRequestTrade"/>
    …
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    <xsd:schema xmlns:tns="http://schemas.datacontract.org/2004/07/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/">
    …
    <xsd:complexType name="withholdingDeterminationLiteRequestTrade">
    …
    </xs

d:complexType>
<xsd:element name="withholdingDeterminationLiteRequestTrade" type="tns:withholdingDeterminationLiteRequestTrade"/>
..
</xsd:schema>

</wsdl:types>
…
</wsdl:definitions>

非常感谢您的帮助

您的基类型在同一命名空间中?我的基类型baseVersionableType在命名空间中。。[MessageContractWrapperNamespace=公共类baseVersionableType{private string schemaVersionField;[MessageBodyMember]公共字符串schemaVersion{get{return this.schemaVersionField;}set{this.schemaVersionField=value;}}什么类型是扣留DeterminationLiteRequestTrade?[DataContractNamespace=公共类扣留DeterminationLiteRequestTrade{…}