xml 스키마를 반환하는 웹 서비스를 사용하고 있습니다. SOAP을 통해 호출하려고합니다. 나는 그것을 코드화했다. 그러나 어떤 결과물도 얻지 못하고있다. 아무도 나를 도울 수 없습니까?Android : SOAP를 사용하여 웹 서비스 호출
내 웹 서비스는 다음과 같습니다
http://dev.sigwp.org/WikipediaOntologyAPIv4/Service.asmx?WSDL
xml 스키마를 반환하는 웹 서비스를 사용하고 있습니다. SOAP을 통해 호출하려고합니다. 나는 그것을 코드화했다. 그러나 어떤 결과물도 얻지 못하고있다. 아무도 나를 도울 수 없습니까?Android : SOAP를 사용하여 웹 서비스 호출
내 웹 서비스는 다음과 같습니다
http://dev.sigwp.org/WikipediaOntologyAPIv4/Service.asmx?WSDL
당신이 정말 원하는 것을 질문에서 명확하지 않지만 당신이 안드로이드에서 SOAP 웹 서비스를 사용하려면이 튜토리얼을 따라 할 수
http://www.c-sharpcorner.com/UploadFile/88b6e5/how-to-call-web-service-in-android-using-soap/
나는 튜토리얼을 따라 갔다. 이 자습서에서는 응답으로 string을 리턴합니다. 내 웹 서비스에서 그들은 xml 스키마를 반환하고 있습니다. 어떻게 표시합니까? –
로그인을 위해 비누 요청을하기 위해 아래 내용을 사용했습니다. 귀하의 필요에 맞게 수정하십시오. 프로젝트 lib에 최신 비누 병 파일이 포함되어 있는지 확인하십시오.이 자습서를 살펴보십시오. http://www.youtube.com/watch?v=v9EowBVgwSo.
SoapObject request = new SoapObject("NameSpace", "MethodName");//
loginreq.setValue("<LoginReq>"
+"<nickName>"+name+"</nickName>"
+"<password>"+pass+"</password>"
+"<IMEI>"+mImei+"</IMEI>"
+"<location>"
+"<latitude>"+lati+"</latitude>"
+"<longitude>"+longi+"</longitude>"
+"</location>"
+"</LoginReq>");//my requirement was to send request in this format.
PropertyInfo loginreq = new PropertyInfo();
loginreq.name="LoginReq";
loginreq.type=String.class;
request.addProperty(loginreq); //sending request.
SoapSerializationEnvelope envelop = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelop.setOutputSoapObject(request);
System.out.println("Request is"+request);
HttpTransportSE androidHttpTransport = new HttpTransportSE ("http://bugs.medalsystems.com:8080/ThirdEye/ThirdEyeWebService?wsdl");//your wsdl link
androidHttpTransport.debug=true;
try
{
androidHttpTransport.call("http://service.medal.org/ThirdEyeWebService/LoginRequest", envelop);
SoapObject response=(SoapObject) envelop.bodyIn;
System.out.println("Response is......"+response.toString());
System.out.println("Response is......"+response.toString());
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(response.getProperty(0).toString()));
Document doc = db.parse(is);//parse xml
NodeList nodes = doc.getElementsByTagName("StandardResp");
for (int i = 0; i < nodes.getLength(); i++)
{
Element element = (Element) nodes.item(i);
NodeList rc = element.getElementsByTagName("respCode").item(0).getChildNodes();//get value form respCode tag
ResponseCode = ((Node) rc.item(0)).getNodeValue();
System.out.println("Respone Code...."+ResponseCode);
NodeList mess = element.getElementsByTagName("message").item(0).getChildNodes();
Message = ((Node) mess.item(0)).getNodeValue();
System.out.println("Message....."+Message);
NodeList sess = element.getElementsByTagName("sessionId").item(0).getChildNodes();
SessionIdlin = ((Node) sess.item(0)).getNodeValue();
System.out.println("Session Id....."+SessionIdlin);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
나는 튜토리얼을 따라 갔다. 이 자습서에서는 응답으로 string을 리턴합니다. 내 웹 서비스에서 그들은 xml 스키마를 반환하고 있습니다. 어떻게 표시합니까? –
당신은 색소폰이나 DOM 파서를 사용하여 XML을 구문 분석해야합니다 – Raghunandan
위의 확인하십시오. 나는 편집했다. 나는 응답에서 xml 태그에있는 비슷한 요구 사항을 가지고있다. 나는 많은 태그가 없기 때문에 dom 파서를 사용했다. 요구 사항에 따라 파서를 선택하십시오. 희망이 도움이됩니다. – Raghunandan
여기에 제 코드를 붙여 넣을 수 없습니다. 이메일 주소를 알려주시겠습니까? –