2013-10-16 1 views
0

웹 서비스 (비누)에서 데이터를 가져오고 싶지만 성공하지 못했습니다. 내 서비스는 여기 http://icafe.ipos.vn/WSUitility/evsServiceUtility.svc?wsdl
나는jquery로 비누 서비스에서 데이터를 가져 오는 방법은 무엇입니까?

var soap = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">" + 
     "<soap:Body>" + 
     "<Test xmlns=''>" + 
     "</Test>" + 
     "</soap:Body>" + 
     "</soap:Envelope>"; 
    $.ajax({ 
     url: 'http://icafe.ipos.vn/WSUitility/evsServiceUtility.svc?wsdl', 
     method: 'post', 
     data: soap, 
     contentType: "text/xml", 
     dataType: "xml", 
     beforeSend: function (xhr) { 
      xhr.setRequestHeader("SOAPAction", "urn:evsServiceUtility/Test1"); 
     }, 
     crossDomain: true, 
     success: function(SOAPResponse) { 
      alert('ok'); 
     }, 
     error: function(SOAPResponse) { 
      alert('no ok'); 
     } 
    }); 

그리고 내 서비스 아래 서비스 코드를 요청하기 위해 jQuery를 사용

public string Test() 
    { 
     try 
     { 
      return "Successfull!"; 
     } 
     catch (Exception ex) 
     { 
      return ex.Message; 
     } 
    } 

내가 검색 많은 솔루션지만 작동하지를 시도하는 많은 많은 시간을 spended.
아무도 도와 줄 수 있습니까?

+0

어떤 예외가 있습니까? –

+0

코드 응답 400 나쁜 요청을받습니다. –

답변

0

데이터 유형이 XML 일 수 있다고 가정합니다. 문제는 없습니다. 질문은 귀하의 data 또는 매개 변수를 어떻게 인코딩합니까? 브라우저의 콘솔에서 POST 요청의 응답을 확인하십시오. 그리고 한 가지 할 왼쪽 http://encosia.com/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

데이터를 JSON.stringify()했다 :

나는 잘 여기에 설명되어있는 자동을 사용하려면 C#에서 몇 가지를 집어 들었다. 그래서 bhRequest은 json 객체입니까?

... 그리고 당신이해야합니다 크로스 브라우저를 구현하는 json2.js는 비누라는 이름의 var에 사용되는 위치 https://github.com/douglascrockford/JSON-js

+0

Sr. bhRequest는 위의 비누 변수입니다. –

0

나는 볼 수 없습니다. "데이터 :"가 SOAP 서비스로 전송되는 것처럼 보입니다. 대신 bhRequest라는 것이 있습니다.

또한 당신이 당신의 Config.xml의

<access subdomains="true" origin="*" /> 

하여 원격 서버에 폰갭 액세스를 허용하고 있는지 확인하십시오. 일을 시작하게되면 icafe.ipos.vn 도메인으로 제한함으로써 더욱 제한적으로 만들 수 있습니다.

+0

예. config.xml에서

관련 문제