package tr.com.stackdeveloper.ws; import android.util.Log; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import tr.com.stackdeveloper.lib.AbstractSoapClient; import tr.com.stackdeveloper.lib.Constant; import tr.com.stackdeveloper.lib.XmlParser; import tr.com.stackdeveloper.model.RequestKisiBilgi; import tr.com.stackdeveloper.model.ResponseKisiBilgi; public class WsKpsSorguKisiSorgu extends AbstractSoapClient { private RequestKisiBilgi requestObject; private ResponseKisiBilgi responseObject; public WsKpsSorguKisiSorgu() { super(Constant.WSDL_KPS_URL_PROD); setSoapAction("kisiSorgula"); setRequestObject(new RequestKisiBilgi()); setResponseObject(new ResponseKisiBilgi()); } @Override public StringBuilder buildRequest() { StringBuilder sb = new StringBuilder(); sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:kps=\"http://kps.mobile.sgk.gov.tr\">"); sb.append(" <soapenv:Header/>"); sb.append(" <soapenv:Body>"); sb.append(" <kps:kisiSorgula>"); sb.append(String.format("<tcKimlikNo>%s</tcKimlikNo>", requestObject.getTcKimlikNo())); sb.append(String.format("<ciltNo>%s</ciltNo>", requestObject.getCiltNo().toString())); sb.append(String.format("<ilKodu>%s</ilKodu>", requestObject.getNufusIlKod().toString())); sb.append(String.format("<dogumYili>%s</dogumYili>", requestObject.getDogumYili().toString())); sb.append(String.format("<uyruk>%s</uyruk>",requestObject.getUyruk().toString())); sb.append("<ikametTezkereNo xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"); sb.append(String.format("<uygKod>%s</uygKod>", requestObject.getUygulamaKodu().toString())); sb.append(" </kps:kisiSorgula>"); sb.append(" </soapenv:Body>"); sb.append("</soapenv:Envelope>"); return sb; } @Override public void processResponse() { if (getResponse().length() == 0) return; try { XmlParser parser = getXmlParser(); parser.getDocument(getResponse()); NodeList nodes = parser.getNodes("kisiSorgulaReturn"); if (nodes.getLength()==0) return; for (int i = 0; i < nodes.getLength(); i++) { try { Node nNode = nodes.item(i); if (nNode.getNodeType() == Node.ELEMENT_NODE) { responseObject.setSessionId(getElementValue(nNode, "sessionId") ); responseObject.setSonucAciklama(getElementValue(nNode, "sonucAciklama")); responseObject.setSonucKod(Integer.parseInt(getElementValue(nNode, "sonucKod"))); } } catch (Exception e) { responseObject.setSessionId(""); responseObject.setSonucAciklama(""); } } } catch (Exception e) { responseObject.setSessionId(""); responseObject.setSonucAciklama(e.getMessage()); } } @Override public void processResponseExt() { } public RequestKisiBilgi getRequestObject() { return requestObject; } public void setRequestObject(RequestKisiBilgi requestObject) { this.requestObject = requestObject; } public ResponseKisiBilgi getResponseObject() { return responseObject; } public void setResponseObject(ResponseKisiBilgi responseObject) { this.responseObject = responseObject; } }