WebException: Le serveur a commis une violation de protocole. Section=ResponseStatusLine (appel Marketo API SOAP)
J'essaie d'appeler le Marketo Webservice SOAP
via ASP.NET /C#.
J'ai ajouté avec succès le service web de référence et essayé de l'appeler avec cette ligne de code:
SuccessGetLead lead = service.getLead(paramsgetlead);
Le problème est que je reçois aussi cette exception:
[WebException: Le serveur a commis une violation de protocole. Section=ResponseStatusLine]
Système.Web.Services.Les protocoles.WebClientProtocol.GetWebResponse(WebRequest demande) +263
Système.Web.Services.Les protocoles.HttpWebClientProtocol.GetWebResponse(WebRequest demande) +4
Système.Web.Services.Les protocoles.SoapHttpClientProtocol.Invoke(Chaîne methodName, Object[] paramètres) +172
com.marketo.le savon.MktMktowsApiService.getLead(ParamsGetLead paramsGetLead) c:\Users\hubert.grininger\AppData\Local\Temp\Temporary ASP.NET Files\dynaweb2007\82e21235\d41bf12a\App_WebReferences.liqikruc.7.cs:206
_test_marketo.Page_Load(Object sender, EventArgs e) dans d:\workspace_c\dynaweb2007_test\marketo.aspx.cs:48
Système.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, l'Objet o, t Objet, EventArgs e) +14
Système.Web.Util.CalliEventHandlerDelegateProxy.Rappel(Object sender, EventArgs e) +35
Système.Web.L'INTERFACE utilisateur.De contrôle.OnLoad(EventArgs e) +99
Système.Web.L'INTERFACE utilisateur.De contrôle.LoadRecursive() +50
Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
J'ai aussi essayé d'ajouter
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing = "true" />
</settings>
</system.net>
mais cela n'a pas aide non plus.
Je pense que la demande n'est jamais envoyé à Marketo mais l'erreur se produit déjà sur ma fin.
Merci pour toute aide ou conseil.
OriginalL'auteur hugri | 2010-11-25
Vous devez vous connecter pour publier un commentaire.
Résolu. Le problème était que le wsdl (fourni par Marketo), à tort, a souligné localhost comme webservice point de terminaison.
I du programme, définissez l'URL via WebServiceObject.Url de la propriété et il fonctionne maintenant.
Même Ici.Merci
OriginalL'auteur hugri
Juste essayer d'utiliser le protocole HTTP/1.0 au lieu de HTTP/1.1
regardez le code suivant
Il a travaillé pour moi 😉
OriginalL'auteur Pascal Grondin