Удалить пространство имен из WebService - PullRequest
1 голос
/ 15 февраля 2010

У меня есть веб-сервисы .Net, которые вызываются из flex. Наш программист получает следующий XML при вызове функции веб-сервиса:

<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>

Он хотел бы получить все то же самое, но без пространства имен, поскольку они нам не нужны. Как это можно сделать на .Net части?

1 Ответ

1 голос
/ 15 февраля 2010

Используйте

[WebService(Namespace = "")]

если вам не нужны пространства имен. Но это не предпочтительный способ. Вместо этого вы можете использовать XmlNamespaceDeclaration, чтобы получить полностью определенное пространство имен. Как это

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

   set 
   {
      // needed for serialization 
   }
}

Проверьте больше информации на: http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlnamespacedeclarationsattribute.aspx

...