Отправка в службу WCF через HTTP - PullRequest
2 голосов
/ 25 марта 2011

У меня проблемы с отправкой данных в службу WCF через HTTP Post и отправкой ответа перенаправления пользователю.

Мой сервис выглядит следующим образом:

[ServiceContract]
public interface IXXLeadServiceWCF
{
 [WebInvoke(UriTemplate = "invoke")]
 [OperationContract]
 void CreateCallBack(Stream input);
}

С помощьюДоговор на обслуживание, принимающий веб-вызов, выглядит следующим образом:

[OperationBehavior]
public void CreateCallBack(Stream input)
{
 StreamReader sr = new StreamReader(input); 
 string s = sr.ReadToEnd(); 
 sr.Dispose(); 
 NameValueCollection qs = HttpUtility.ParseQueryString(s); 
 string firstName = qs["firstName"];

WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Redirect;
WebOperationContext.Current.OutgoingResponse.Location = "http://www.test.com";
}

И я отправляю сообщение в службу следующим образом:

<form method="post" action="http://wcf.xxx.com/LeadService/LeadService.svc">
 <input name="firstName" id="firstName" class="txt_input" type="text" value="" />
</form>

Я получаю только пустую страницу из сообщения.Существуют ли ограничения на отправку HTTP-сообщений из другого домена в WCF?

Если кто-то может указать мне правильное направление, я был бы очень признателен.

Спасибо

Ник

1 Ответ

0 голосов
/ 25 марта 2011

Поверьте, ваша HTML-форма должна быть закодирована multipart / form-data, да? Кроме того, вашему WebInvoke нужен метод POST, верно? UriTemplate определяет URL-адрес, на который будет реагировать метод, и значения, которые он принимает в качестве параметров.

РЕДАКТИРОВАТЬ: WebInvoke (Method = "POST")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...