여러 사람들의 사례를 자세히 살펴보고 문제를 발견했습니다. 우리 모두 알고 있듯이 WebService는 SOAP 프로토콜을 준수합니다. 예제에서 모두 JSON 형식으로 매개변수를 전달하는 이유는 무엇입니까? net WebService는 JSON 형식과 호환되는 반면 Java는 표준 WebService이며 JSON과 호환되지 않습니다. 인터넷이 모든 사람에게 해를 끼친 것 같습니다. 그래서 WSDL 파일을 잘 이해하고 예제를 만들어 봤습니다. 아래에는 키 코드만 기재되어 있습니다.
$(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) {
//Perform XML parsing on the 🎜>//브라우저 판단(IE와 비IE는 완전히 다름)
if($.browser.msie){
$("#result").append(xml.getElementsByTagName("ns1: out") [0].childNodes[0].nodeValue "
");
}
else{
$(xml).find("out").each(function (){
$("#result").append($(this).text() "
")
})
}
},
error: function(x, e) {
alert('error:' x.responseText)
},
complete: function(x) {
//alert('complete:' x.responseText );
}
});
}
//SOAP 프로토콜을 만족하는 매개변수를 정의합니다.
function getPostData()
{
//WSDL 분석에 따르면 HelloWorld는 메소드 이름이고, 매개변수는 수신 매개변수의 이름입니다.
var postdata="";
postdata ="
"
postdata ="< ;sayHelloWorld xmlns= "http://tempuri.org/">";
postdata ="" $("#txtName").val() "";
postdata =" ";
postdata =""
return postdata; 🎜>SVN 주소 전체 예시: http://theyounglearningmaterials.googlecode.com/svn/trunk/JavaWebServices/WebServiceTest/
향후 학습 예시는 모두 http://theyounglearningmaterials.googlecode.com/svn/trunk에 배치됩니다. / 편의를 위해 손실이 없도록 관리합니다.