Отправка данных SOAP в Jquery

300
12 декабря 2016, 10:04

Здравствуйте! Пытаюсь отправить данные через SOAP службе. В результате получаю Bad request. Код приведён ниже. Просьба помочь.

    var t = 'POST /url HTTP/1.1\
    Host: http://localhost:8008/C_M_Service\
    Content-type: text/xml; charset=utf-8\
    Content-length: 350\
    SoapAction: http://localhost:8008/C_M_Service/GetCars\
        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\
    <soap:Body>\
      <GetCars xmlns="http://localhost:8008/C_M_Service/GetCars">\
        <id>123</id>\
      </GetCars>\
    </soap:Body>\
  </soap:Envelope>';
$(document).ready(function() {
    $.ajax({
        url: "http://localhost:8008/C_M_Service/GetCars",
        datatype: "xml",
        type: "POST",
        contentType: "application/soap+xml; charset=utf-8",
        data: t,
        processData: false,
        error: function (err) {
            alert("Error:"+err.toString());
        },
        success: function (data) {
            $("#content").html(data);                   
        }
    });
});
Answer 1

Полный текст запроса передавать не надо. Дополнительные заголовки добавляйте в headers. Попробуйте так:

var t = '<?xml version="1.0" encoding="utf-8"?>
         <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\
           <soap:Body>\
             <GetCars xmlns="http://localhost:8008/C_M_Service/GetCars">\
               <id>123</id>\
             </GetCars>\
           </soap:Body>\
         </soap:Envelope>';
$(document).ready(function() {
    $.ajax({
      url: "http://localhost:8008/C_M_Service/GetCars",
      datatype: "xml",
      type: "POST",
      headers: { "SOAPAction": "http://localhost:8008/C_M_Service/GetCars" },
      contentType: "application/soap+xml; charset=utf-8",
      data: t,
      processData: false,
      error: function (err) {
        alert("Error:"+err.toString());
      },
      success: function (data) {
        $("#content").html(data);                   
      }
    });
});

ЗЫ Access-Control-Allow-Origin у вас прописан, надеюсь? RTFM CORS.

READ ALSO
Как применить :hover в jquery?

Как применить :hover в jquery?

Нужно не просто применить цвет к ссылкам, а сделать чтобы этот цвет срабатывал только при наведении (:hover)

332