Когда я передаю строку XML в качестве запроса, я получаю исключение Bad Request в WCF REST? - PullRequest
0 голосов
/ 13 августа 2010

Клиент:

string value = "<?xml version=1.0?><person><firstname>john</firstname><lastname>smith</lastname> <person/>";

using (HttpResponseMessage response = m_RestHttpClient.Post("new/customerxml/"+value2, frm.CreateHttpContent()))
{

}

Сервер:

[OperationContract]
[WebInvoke(UriTemplate = "new/customerxml/string={value}", Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml)]
public string NewCustomer(string value)
{
        return value;
}

1 Ответ

1 голос
/ 13 августа 2010

Это потому, что WCF анализирует содержимое и решает, что вы загружаете XML, а не строку.Предполагая, что вы используете HttpClient из начального набора WCF REST, попробуйте следующее:

    string value = "<?xml version=1.0?><person><firstname>john</firstname><lastname>smith</lastname> <person/>";

var content = HttpContentExtentions.CreateDataContract(value, typeof(string));
using (HttpResponseMessage response = m_RestHttpClient.Post("new/customerxml/"+value2, content)
    {
      ...
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...