WCF Messagecontract的命名空间问题
我们开发了一个WCF,它使用消息契约作为参数。当我为它们生成WSDL时,对于某些消息契约,WCF正在添加Namesapce,即使我正在用我的自定义名称空间覆盖MessageContract的名称空间属性。请帮助我重写默认名称空间 下面是合同和WSDL的示例代码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
[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{…}