Maison  >  Article  >  interface Web  >  Code d'accès au WebService basé sur JQuery (accessible à Java [Xfire])

Code d'accès au WebService basé sur JQuery (accessible à Java [Xfire])

高洛峰
高洛峰original
2017-01-24 09:28:091138parcourir

J'ai examiné de plus près les exemples de plusieurs personnes et j'ai trouvé le problème. Comme nous le savons tous, WebService est conforme au protocole SOAP. Pourquoi les exemples transmettent-ils tous des paramètres au format JSON ? net WebService est compatible avec le format JSON, tandis que Java est un WebService standard et n'est pas compatible avec JSON. Il semble qu’Internet ait fait du mal à tout le monde. J'ai donc soigneusement compris le fichier WSDL et fait un exemple. Seul le code clé est placé en dessous.

$(function () { 
$("#btnWs").click(btnAjaxPost); 
}); 

function btnAjaxPost(event) { 
$.ajax({ 
type: "POST", 
contentType:"text/xml", 
url:"http://*****/WebServiceTest/services/HelloWorldService", 
data:getPostData(),//这里不该用JSON格式 
dataType:'xml',//这里设成XML或者不设。设成JSON格式会让返回值变成NULL 
success: function(xml) { 
//对结果做XML解析。 
//浏览器判断 (IE和非IE完全不同) 
if($.browser.msie){ 
$("#result").append(xml.getElementsByTagName("ns1:out")[0].childNodes[0].nodeValue+"<br/>"); 
} 
else{ 
$(xml).find("out").each(function(){ 
$("#result").append($(this).text()+"<br/>"); 
}) 
} 
}, 
error: function(x, e) { 
alert(&#39;error:&#39;+x.responseText); 
}, 
complete: function(x) { 
//alert(&#39;complete:&#39;+x.responseText); 
} 
}); 
} 
//定义满足SOAP协议的参数。 
function getPostData() 
{ 
//根据WSDL分析sayHelloWorld是方法名,parameters是传入参数名 
var postdata="<?xml version=\"1.0\" encoding=\"utf-8\"?>"; 
postdata+="<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"; 
postdata+="<soap:Body><sayHelloWorld xmlns=\"http://tempuri.org/\">"; 
postdata+="<parameters>"+$("#txtName").val()+"</parameters>"; 
postdata+="</sayHelloWorld></soap:Body>"; 
postdata+="</soap:Envelope>"; 
return postdata; 
}

Pour plus de code basé sur JQuery pour accéder au WebService (accessible à Java [Xfire]), veuillez faire attention au site PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn