2012-04-12 5 views
0

У меня есть веб-служба, написанная в java и открытая с использованием axis2server.I нужно вызвать службу, используя jquery.My UI размещен на одном компьютере, но в другом порту (8080). Я пробовал следующий кодвызов soap wsdl с помощью jquery

$('#submit').click(function (event) { 
    alert("success"); 
    var soapmessage = "<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' " + " xmlns:iris='http://iris.ramco.com'>"; 
    soapmessage += "<soap:Header/>"; 
    soapmessage += "<soap:Body>"; 
    soapmessage += "<iris:authenticateUser>"; 
    soapmessage += "<inputjson>    {username:'admin',password:'admin12*'}</inputjson>"; 
    soapmessage += "</iris:authenticateUser>"; 
    soapmessage += "</soap:Body>"; 
    soapmessage += "</soap:Envelope>"; 
    alert(soapmessage); 
    $.ajax({ 
     type: 'Post', 
     url: 'http://localhost:8090/axis2/services/CiRISService', 
     data: soapmessage, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      alert(data); 
     }, 
     error: function (data) { 
      alert("eror" + data.d); 
     } 
    }); 
    alert("Form Submitted"); 
}); 

Но я получаю неопределенную ошибку. Спасибо заранее.

+0

Где вы можете получить 'undefined error'? вы уверены, что входите в библиотеку jQuery? и обратите внимание - вы не можете выполнять перекрестные запросы домена, используя AJAX – ManseUK

+0

s уверен. Я получаю эту неопределенную ошибку..бо мой сервис и ui размещены на одном и том же локальном компьютере. – vikasse

+0

. Пожалуйста, обратите внимание на то, что один из ответов принят. –

ответ

2

Почему вы не используете клиентскую библиотеку SOAP? Например, есть плагин jQuery: http://archive.plugins.jquery.com/project/jqSOAPClient

И помните, что вы никогда не должны называть методы SOAP напрямую, без специализированных библиотек. Слишком много ловушек, которых вы не ожидаете.

0

Вы используете тип контента "application/json; charset=utf-8" (и тип данных "json") для запроса на мыло. Вместо того, чтобы попробовать эти

CONTENTTYPE: "текст/XML; Charset = UTF-8"

DATATYPE: "XML"

Edit: Я согласен с Shedal, хотя, использовать библиотеку.