package tr.com.stackdeveloper.ws; import java.lang.reflect.Field; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import android.util.Log; import tr.com.stackdeveloper.lib.AbstractSoapClient; import tr.com.stackdeveloper.lib.Constant; import tr.com.stackdeveloper.lib.XmlParser; import tr.com.stackdeveloper.model.RequestProvizyonSorgu; import tr.com.stackdeveloper.model.ResponseProvizyonSonucu; public class WsProvizyonSorgulama extends AbstractSoapClient { private static String SOAP_ACTION = "provizyonSorgulama"; private RequestProvizyonSorgu requestObject; private ResponseProvizyonSonucu responseObject; public WsProvizyonSorgulama() { super(Constant.WSDL_PROVIZYON_URL_PROD); setSoapAction(SOAP_ACTION); setRequestObject(new RequestProvizyonSorgu()); setResponseObject(new ResponseProvizyonSonucu()); } public RequestProvizyonSorgu getRequestObject() { return requestObject; } public void setRequestObject(RequestProvizyonSorgu requestObject) { this.requestObject = requestObject; } public ResponseProvizyonSonucu getResponseObject() { return responseObject; } public void setResponseObject(ResponseProvizyonSonucu responseObject) { this.responseObject = responseObject; } @Override public StringBuilder buildRequest() { StringBuilder sb = new StringBuilder(); sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:onl=\"http://onlinerapor.mobile.sgk.gov.tr\">"); sb.append(" <soapenv:Header/>"); sb.append(" <soapenv:Body>"); sb.append(" <onl:provizyonSorgulama>"); sb.append(String.format("<tcKimlikNo>%s</tcKimlikNo>", requestObject.getTcKimlikNo())); sb.append(String.format("<guid>%s</guid>", requestObject.getGuid())); sb.append("<kullaniciId xsi:nil=\"true\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"); sb.append(String.format("<UygId>%s</UygId>", Integer.toString(requestObject.getUygId()))); sb.append(String.format("<provizyonTarihi>%s</provizyonTarihi>", requestObject.getProvizyonTarihi())); sb.append(" </onl:provizyonSorgulama>"); 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("provizyonSorgulamaReturn"); 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.setSicilNo(getElementValue(nNode, "sicilNo")); responseObject.setPva(getElementValue(nNode, "pva")); responseObject.setOnline(Boolean.parseBoolean(getElementValue(nNode, "online"))); responseObject.setKatilimPayiMuafiyet(getElementValue(nNode, "katilimPayiMuafiyet")); responseObject.setTescilKapsamKodu(getElementValue(nNode, "tescilKapsamKodu")); responseObject.setPrvBasTar(getElementValue(nNode, "prvBasTar")); responseObject.setPrvBitTar(getElementValue(nNode, "prvBitTar")); responseObject.setTcKimlikNo(getElementValue(nNode, "tcKimlikNo")); responseObject.setYakinTcKimlik(getElementValue(nNode, "yakinTcKimlik")); responseObject.setAdi(getElementValue(nNode, "adi")); responseObject.setSoyadi(getElementValue(nNode, "soyadi")); responseObject.setDogumTarihi(getElementValue(nNode, "dogumTarihi")); responseObject.setCinsiyet(getElementValue(nNode, "cinsiyet")); responseObject.setYakinlikTuru(getElementValue(nNode, "yakinlikTuru")); responseObject.setSpKapsamKodu(getElementValue(nNode, "spKapsamKodu")); responseObject.setSigortaliTuru(getElementValue(nNode, "sigortaliTuru")); responseObject.setSonucKodu(getElementValue(nNode, "sonucKodu")); responseObject.setSonucMesaji(getElementValue(nNode, "sonucMesaji")); responseObject.setAkf(Boolean.parseBoolean(getElementValue(nNode, "akf"))); } } catch (Exception e) { } } } catch (Exception e) { } } @Override public void processResponseExt() { } }