Je rencontre des difficultés pour envoyer des données à un service WCF via HTTP Post et envoyer une réponse de redirection à l'utilisateur.Publication sur le service WCF via HTTP
Mon service ressemble à ceci:
[ServiceContract]
public interface IXXLeadServiceWCF
{
[WebInvoke(UriTemplate = "invoke")]
[OperationContract]
void CreateCallBack(Stream input);
}
Avec le contrat d'exploitation d'accepter un invokation Web comme suit:
[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";
}
Et je signale au service comme celui-ci:
<form method="post" action="http://wcf.xxx.com/LeadService/LeadService.svc">
<input name="firstName" id="firstName" class="txt_input" type="text" value="" />
</form>
Je reçois seulement une page vierge de la poste. Existe-t-il des restrictions sur la publication HTTP à partir d'un autre domaine dans WCF?
Si quelqu'un pouvait me diriger dans la bonne direction, je l'apprécierais vraiment.
Merci
Nick
Merci pour la réponse. J'ai enveloppé mon formulaire dans multipart/form-data mais serais-tu capable de conseiller l'annotation correcte pour que la méthode webinvokve accepte une requête POST? Il y a beaucoup de conseils contradictoires sur le net. Merci – Nick