I’m currently working on an integration between systems and I’ve decided to use WebApi for it, but I’m running into an issue…
Let’s say I have a model:
public class TestModel
{
public string Output { get; set; }
}
and the POST method is:
public string Post(TestModel model)
{
return model.Output;
}
I create a request from Fiddler with the header:
User-Agent: Fiddler
Content-Type: "application/xml"
Accept: "application/xml"
Host: localhost:8616
Content-Length: 57
and body:
<TestModel><Output>Sito</Output></TestModel>
The model parameter in the method Post is always null and I have no idea why.
Does anyone have a clue?
Two things:
You don’t need quotes
""around the content type and accept header values in Fiddler:Web API uses the
DataContractSerializerby default for xml serialization. So you need to include your type’s namespace in your xml:Or you can configure Web API to use
XmlSerializerin yourWebApiConfig.Register:Then you don’t need the namespace in your XML data: