1

这是我的代码:

var myGTP = {};
var urlGTP = "http://gtpmain.wdf.xxxx.com:1080/sap/bc/srt/rfc/qte/rfc_read_struc_nodes/001/qte_rfc_read_struc_nodes/binding";

var soapMsg = 'var body = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/>' +
    '<soapenv:Header/> <soapenv:Body> <urn:_-qte_-rfcReadStrucNodes>' +
    '<IvLanguage>E</IvLanguage>' +
    '<IvStructureId>' + structureId + '</IvStructureId>' +
    '</urn:_-qte_-rfcReadStrucNodes> </soapenv:Body></soapenv:Envelope>';

$.ajax({
    url : urlGTP,
    dataType : 'jsonp',
    type : 'GET',
    async : false,
    data : soapMsg,
    contentType : 'text/xml; charset=UTF-8',
    username : "myuser",
    passowrd : "mypassword",
    success : function(data) {
        myGTP = data;
        console.log(data);
    },
    error : function() {
        alert("Error!");
    }
}); 

我收到错误 415(不支持的媒体类型)。我试图弄清楚几个小时,但我不知道是什么问题。请帮忙!

4

1 回答 1

0
  1. 415 错误意味着服务器错误。无论出于何种原因,它都不喜欢您的要求。
  2. 您为什么要尝试制作自己的 SOAP 信封?在 Google 上快速搜索“jquery soap”会返回这个 SOAP 插件。除非您正在制作图书馆,或者有特殊需要自己做,否则不值得。
  3. 是否有理由包含var body = "在您的 SOAP 消息中?
  4. 你的双引号坏了。你有var body = "<soapenv,但永远不要关闭这个报价。同一行是xmlns:soapenv=\"http,另一个你没有关闭的报价。

但最终,我建议为 jQuery 使用第三方 SOAP 库,而不是尝试自己动手。

于 2013-05-03T14:01:21.797 回答