Xml WCF SOAP-从子节点删除命名空间

Xml WCF SOAP-从子节点删除命名空间,xml,wcf,soap,Xml,Wcf,Soap,我正在构建一个服务,并且有一个客户机,它需要一种特定格式的xml,我正试图在soap服务中接收这种xml。我遇到的问题是,当我需要名称空间前缀仅位于根节点上时,它将应用于子节点。下面是为soapui中的请求生成的soap信封: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:contact.com"> <soapenv:Header/>

我正在构建一个服务,并且有一个客户机,它需要一种特定格式的xml,我正试图在soap服务中接收这种xml。我遇到的问题是,当我需要名称空间前缀仅位于根节点上时,它将应用于子节点。下面是为soapui中的请求生成的soap信封:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:contact.com">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:ContactNotification>
         <!--Optional:-->
         <urn:Identifier>
            <!--Optional:-->
            <ID>122</ID>
         </urn:Identifier>
         <!--Optional:-->
         <urn:Details>
            <!--Optional:-->
            <ContactPerson>c</ContactPerson>
         </urn:Details>
      </urn:ContactNotification>
   </soapenv:Body>
</soapenv:Envelope>

已经四处寻找,但找不到解决方案。

您是否曾设法找到解决方案?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:contact.com">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:ContactNotification>
         <!--Optional:-->
         <Identifier>
            <!--Optional:-->
            <ID>122</ID>
         </Identifier>
         <!--Optional:-->
         <Details>
            <!--Optional:-->
            <ContactPerson>c</ContactPerson>
         </Details>
      </urn:ContactNotification>
   </soapenv:Body>
</soapenv:Envelope>
using System.ServiceModel;
[System.Xml.Serialization.XmlTypeAttribute (Namespace="")]


public partial class Identifier
{

    private string idField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Namespace="")]
    public string ID
    {
        get
        {
            return this.idField;
        }
        set
        {
            this.idField = value;
        }
    }
}


using System.ServiceModel;

[System.Xml.Serialization.XmlType(Namespace ="")]

public partial class Details
{
    private string contactPersonField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Namespace="")]
    public string ContactPerson
    {
        get
        {
            return this.contactPersonField;
        }
        set
        {
            this.contactPersonField = value;
        }
    }
}
using System.Web.Configuration;
using System.Xml.Serialization;

namespace ContactService
{   
    [ServiceContract(Namespace = "urn:contact.com")]
    [XmlSerializerFormat]

    public interface IContactService
    {
        [OperationContract]
        [XmlSerializerFormat]
        void ContactNotification( Identifier Identifier, Details Details);
    }
}

using System.ServiceModel;
using System.Web.Configuration;
using System.Xml;
using System.Xml.Serialization;

namespace ContactService
{
    [ServiceBehavior(Namespace= "urn:contact.com")]
    [XmlSerializerFormat]
    public class ContactService : IContactService
    {
        [OperationBehavior]
        public void ContactNotification(Identifier Identifer, Details Details)
        {

        }
    }