2016-03-17 57 views
2

我對肥皂服務的工作方式完全陌生,如果我的理解錯誤,請糾正我。我想通過在我的瀏覽器(Chrome)上鍵入一個URL來傳遞參數並從soap服務中調用一個函數,然後希望看到結果。我試着搜索並跟蹤here的信息,但我不確定自己做錯了什麼。我已經嘗試了以下變化:如何查看我的瀏覽器中的肥皂服務數據

http://<servername>/apppath/MyService.asmx?op=GetData?loc=01&status=OPEN 

http://<servername>/apppath/MyService.asmx/GetData?loc=01&status=OPEN 

這是我在進入url時得到的結果。

http:/<servername>/apppath/MyService.asmx?op=GetData? 

enter image description here 請幫助。

+1

SOAP調用的輸入是xml。外部xml(SOAP信封)和內部xml(數據)。來自SOAP調用的響應也將是xml。根據SOAP服務的設置方式,您可以導航到wsdl並查看SOAP輸入xml和輸出xml的示例。 – Kevin

+1

不確定你可以通過在url中輸入它來完成這項工作,SOAP方法會將輸入xml作爲請求的主體。 – Kevin

+1

通過URL訪問soap web服務? – nnunes10

回答

1

所以錯誤是我SOAP和主機的理解使用郵差。總之,我無法通過瀏覽器完成SOAP請求。另外,提供的圖片顯示我缺少2件東西。 1)SoapAction 2)參數未在url中提供,而是在<soap:Body>標籤中提供。這些在POST中提供,我可以在中查看我的結果Postman

1

也許你正在請求錯誤的URL?如果您在應用程序已經.ASMX - 你應該能夠看到URL上的說明頁面

的http:// {服務器名}/{} APPPATH /MyService.asmx

當然您應該用您的值替換{servername}{apppath}

+0

當我輸入網址時,我在上面添加了屏幕截圖。 – usr4896260

1

您必須發送HTTP POST請求才能調用Web服務GetData。

你的JS代碼應該是這樣的:

//url should be MyService.asmx/GetData 
function callWS(url) { 
    var loc = "01"; 
    var status = "OPEN"; 

    var options = { error: function(msg) { alert(msg.d); }, 
        type: "POST", url: "webmethods.aspx/UpdatePage", 
        data: JSON.stringify({ loc: loc, status: status }), 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        async: true, 
        success: function(response) { alert(response); } 
        }; 

    $.ajax(options); 
} 
+0

我相信那就是我所擁有的?我上面包含的截圖是否證實了這一點? – usr4896260

+1

如果嘗試使用http:// /apppath/MyService.asmx/GetData?loc=01&status=OPEN,會發生什麼情況? – nnunes10

+0

我收到一個異常:'請求格式無法識別的URL意外地以'/ GetData'結尾# – usr4896260