Los servicios web de ASP.NET tienen eso, que cuando quieres devolver tu objeto Person te lo renombran al nombre del método + result y te lo meten dentro de un método + response, así este código:

public class Person

{

    public string Name { get; set; }

}

 

[WebService(Namespace = "http://tempuri.org/")]

public class Service : System.Web.Services.WebService

{

    public Service () {

    }

 

    [WebMethod]

    public Person Get() {

        return new Person { Name = "Pepito" };

    }

    

}

Te generara esto:image

Sin embargo usando atributos de Serializacion en la clase Person, definiéndole el nombre y el tipo, y de Soap en la clase Service conseguiremos que nos devuelva el objeto como lo hemos definido.

Así que este código:

[System.Xml.Serialization.XmlRootAttribute(ElementName = "Person", DataType = "Person")]

public class Person

{

    public string Name { get; set; }

}

 

[SoapDocumentService(Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare), WebService(Namespace = "http://tempuri.org/")]

public class Service : System.Web.Services.WebService

{

    public Service () {

    }

 

    [WebMethod]

    public Person Get() {

        return new Person { Name = "Pepito" };

    }

    

}

Te genera esto:

image

Leave a Reply


*

PUBLICIDAD

EMAIL





posts recientes

MapReduce con MongoDB

Posted on may - 18 - 2012

0 Comment

Habilitar la compresión de...

Posted on abr - 25 - 2012

0 Comment

Bamboo, MSBuild y referencias...

Posted on abr - 17 - 2012

2 Comments

Sponsors

  • Etooltech
  • Dingus Services
  • Etooltech
  • Dingus Services