2010-11-25 103 views
3

我試圖通過ASP.NET/C#調用Marketo SOAP Webservice 。 我成功添加Web服務引用,並試圖與這行代碼來調用它:WebException:服務器提交協議違規。 Section = ResponseStatusLine(調用Marketo SOAP API)

SuccessGetLead lead = service.getLead(paramsgetlead); 

的問題是我還可以得到此異常:

[引發WebException:服務器犯了違反協議。節= ResponseStatusLine]

System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest的請求)263

System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest的請求)4

System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名,對象[]參數)172

com.marketo.soap.MktMktowsApiService.getLead(ParamsGetLead paramsGetLead)在C:\ Users \用戶hubert.grininger \應用程序數據\ Local \ Temp \ Temporary ASP.NET Files \ dynaweb2007 \ 82e21235 \ d41bf12a \ App_WebReferences.liqikru c.7.cs:206

_test_marketo.Page_Load(對象發件人,EventArgs e)在d:\ workspace_c \ dynaweb2007_test \ marketo.aspx.cs:48

錯誤幫助( IntPtr的FP,對象O,對象噸,EventArgs的)14

System.Web.Util.CalliEventHandlerDelegateProxy.Callback(對象發件人,EventArgs的)35

System.Web.UI.Control.OnLoad( EventArgs e)+99

System.Web.UI.Control.LoadRecursive()+ 50

System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)627

我也嘗試添加

<system.net> 
    <settings> 
     <httpWebRequest useUnsafeHeaderParsing = "true" /> 
    </settings> 
</system.net> 

但這並沒有幫助。

我認爲這個請求從來沒有發送到Marketo但是我的錯誤已經發生了。

感謝您的任何幫助或提示。

回答

4

已解決。問題在於wsdl(由Marketo提供)錯誤地將localhost指向web服務端點。 我通過WebServiceObject.Url屬性以編程方式設置URL,它現在可用。

+0

我有同樣的問題 – levi 2012-09-26 09:33:34

3

只要嘗試使用HTTP/1.0而不是HTTP/1。1

看看下面的代碼

objWebRequest.ProtocolVersion = System.Net.HttpVersion.Version10; 

它爲我;-)

相關問題