Итак, я пытаюсь сделать запрос и передать объект SOAP, проблема в том, что он возвращается отлично (onSuccess), но responseXML там не существует. Я использовал Fiddler и HTTP Client (версия скрипта для OSX) и вводил те же запросы, стрелу, и обратно с правильным ответом. С прототипом, не так много.SOAP Prototype Ajax SOAPAction Header question
Я попытался в заголовке и в полях параметров ...
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function test(){
var body = '<?xml version="1.0" encoding="utf-8"?>' +
'<soap:Envelope' +
' xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
' xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"' +
' xmlns:tns="urn:uvindexalert" xmlns:types="urn:uvindexalert/encodedTypes"' +
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
' xmlns:xsd="http://www.w3.org/2001/XMLSchema">' +
' <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' +
' <tns:getUVIndexAlertByZipCode>' +
' <in0 xsi:type="xsd:string">92109</in0>' +
' </tns:getUVIndexAlertByZipCode>' +
' </soap:Body>' +
'</soap:Envelope>';
var headers = ["SOAPAction", " ", "Content-Type", "text/xml"];
var request = new Ajax.Request("http://iaspub.epa.gov/uvindexalert/services/UVIndexAlertPort?wsdl", {
contentType: "application/xml",
requestHeaders: headers,
parameters: "SOAPAction: ",
postBody: body,
onSuccess: function(response){
var j = 0;
},
onFailure: function(){
var i = 0;
}
});
}
test();
</script>
Значение переменной я & J просто, так что я знаю, где он ломает, так что я могу проверить его. Я также посмотрел онлайн и заметил, что кто-то сказал попробовать вместо text/xml application/xml, а затем добавить charset = utf-8, поэтому я сделал все это, но все равно ничего. Кто-нибудь знает наверняка, как вернуть XML с помощью SOAPAction?