Skip to content

Instantly share code, notes, and snippets.

@digz6666
Created August 10, 2018 11:19
Show Gist options
  • Save digz6666/d5f65eaef21922881a1d3cd850a20247 to your computer and use it in GitHub Desktop.
Save digz6666/d5f65eaef21922881a1d3cd850a20247 to your computer and use it in GitHub Desktop.
Golomt SOAP JAVA
final String VERIFY_URL = "http://m.egolomt.mn:7070/persistence.asmx";
final String USERNAME = "bla";
final String PASSWORD = "bla";
try {
// Create SOAP Connection
SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();
// Set SOAP message body params
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage soapMessage = messageFactory.createMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
String serverURI = "http://tempuri.org/";
SOAPEnvelope envelope = soapPart.getEnvelope();
envelope.addNamespaceDeclaration("tem", serverURI);
SOAPBody soapBody = envelope.getBody();
SOAPElement soapBodyElem = soapBody.addChildElement("Get_new", "tem");
SOAPElement soapBodyElem0 = soapBodyElem.addChildElement("v0", "tem");
soapBodyElem0.addTextNode(USERNAME);
SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("v1", "tem");
soapBodyElem1.addTextNode(PASSWORD);
SOAPElement soapBodyElem2 = soapBodyElem.addChildElement("v2", "tem");
soapBodyElem2.addTextNode(request.getTransNumber());
SOAPElement soapBodyElem3 = soapBodyElem.addChildElement("v3", "tem");
soapBodyElem3.addTextNode(new SimpleDateFormat("yyyyMMdd").format(request.getVerifyDate()));
SOAPElement soapBodyElem4 = soapBodyElem.addChildElement("v4", "tem");
soapBodyElem4.addTextNode(request.getAmount().toString());
MimeHeaders headers = soapMessage.getMimeHeaders();
headers.addHeader("SOAPAction", serverURI + "Get_new");
soapMessage.saveChanges();
// Send SOAP Message to SOAP Server
paymentVerifyResult.setRequestData(soapMessage.toString());
SOAPMessage soapResponse = soapConnection.call(soapMessage, VERIFY_URL);
String intResult = null;
SOAPBody xmlBody = soapResponse.getSOAPBody();
java.util.Iterator body = xmlBody.getChildElements();
if (body.hasNext()) {
SOAPElement xmlResponse = (SOAPElement)body.next();
java.util.Iterator response = xmlResponse.getChildElements();
if( response.hasNext() ){
SOAPElement xmlResult = (SOAPElement)response.next();
intResult = xmlResult.getValue();
}
}
if(intResult != null) {
if(intResult.length() == 6) {
// success
paymentVerifyResult.setResult(true);
} else {
// error
switch(intResult) {
case "2":
paymentVerifyResult.setResult(false);
paymentVerifyResult.setMessage("Картын мэдээлэл бууруу эсвэл үлдэгдэл хүрэхгүй байна");
break;
case "3":
paymentVerifyResult.setResult(false);
paymentVerifyResult.setMessage("Гүйлгээг баталгаажуулахад алдаа гарлаа. Login буруу");
break;
case "4":
paymentVerifyResult.setResult(false);
paymentVerifyResult.setMessage("Гүйлгээг баталгаажуулахад алдаа гарлаа. Формат буруу");
break;
case "0":
paymentVerifyResult.setResult(false);
paymentVerifyResult.setMessage("Гүйлгээ хийгдээгүй");
break;
default:
break;
}
}
} else {
paymentVerifyResult.setResult(false);
paymentVerifyResult.setMessage("Гүйлгээг баталгаажуулахад алдаа гарлаа");
}
soapConnection.close();
} catch (UnsupportedOperationException | SOAPException e) {
paymentVerifyResult.setMessage("Системийн алдаа гарлаа");
LOGGER.debug(e.getMessage());
LOGGER.debug(ExceptionUtils.getStackTrace(e));
}
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import org.apache.commons.codec.binary.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment