Pergunta

Eu tenho um .NET Web Services que é chamado da Flex. Nosso programador recebe o seguinte XML ao chamar a função de serviço da web:

<FunctionName xmlns="WSNamespace" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <FunctionName>Xml itself</FunctionName>

Ele gostaria de obter o mesmo, mas sem espaço para nome, pois não precisamos deles. Como isso pode ser feito na parte .NET?

Foi útil?

Solução

Usar

[WebService(Namespace = "")]

Se você não quer namespaces. Mas essa não é a maneira preferida. Em vez disso, você pode usar o XMLNamesPacedEclaration para obter um espaço para nome totalmente qualificado. Assim

[XmlNamespaceDeclarations]
public XmlSerializerNamespaces xmlns
{
   get
   {
      XmlSerializerNamespaces xsn = new XmlSerializerNamespaces();
      xsn.Add("me", "http://anamespace/");
      return xsn;
   }

   set 
   {
      // needed for serialization 
   }
}

Confira mais informações em:http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlNamesPacedecLarationsattribute.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top