415不支持的媒体类型jQuery

时间:2013-05-03 13:48:28

标签: jquery

这是我的代码:

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(不支持的媒体类型)。我试图想几个小时,但我不知道是什么问题。请帮忙!

1 个答案:

答案 0 :(得分:0)

  1. 415错误表示服务器错误。无论出于何种原因,它都不喜欢你的要求。
  2. 您为什么要尝试制作自己的SOAP信封?快速谷歌搜索“jquery soap”返回this SOAP plugin。除非您正在创建一个库,或者具有特定的需要来自己创建它,否则它是不值得的。
  3. 是否有理由在您的SOAP消息中包含var body = "
  4. 你的双引号坏了。您有var body = "<soapenv,但从未关闭此引号。同一行是xmlns:soapenv=\"http,另一个你不关闭的引用。
  5. 但最终,我建议将第三方SOAP库用于jQuery,而不是尝试使用自己的信封。