Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. private String url = "http://api.mobilesms.vn:8208/sendmt?wsdl";
  2. private String username;
  3. private String password;
  4. private String serviceId;
  5. private MessageFactory factory;
  6. private String namespace = "http://service.gateway.com/xsd";
  7.  
  8. @Override
  9. public void sendSMS(String phone, String content) throws Exception {
  10. SOAPMessage soapMsg = createSOAPMessage(phone, content);
  11. ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
  12. soapMsg.writeTo(outputStream);
  13. String data = new String(outputStream.toByteArray());
  14. HttpResponse<String> response = Unirest.post(url).header("Content-Type", "text/xml").body(data).asString();
  15. String bodyResponse = response.getBody();
  16. getLogger().info("NganTra response: {}", bodyResponse);
  17. }
  18.  
  19. @Override
  20. public void init(PuObject config) {
  21. this.url = config.getString("nganTraUrl", url);
  22. this.username = config.getString("nganTraUsername", "trungduc");
  23. this.password = config.getString("nganTraPassword", "Trungduc@123!@#");
  24. this.serviceId = config.getString("nganTraServiceId", "Verify");
  25. try {
  26. factory = MessageFactory.newInstance();
  27. } catch (SOAPException e) {
  28. getLogger().error("error when create message factory", e);
  29. }
  30.  
  31. }
  32.  
  33. private SOAPMessage createSOAPMessage(String phone, String content) throws SOAPException {
  34. SOAPMessage soapMsg = factory.createMessage();
  35. SOAPPart part = soapMsg.getSOAPPart();
  36. SOAPEnvelope envelope = part.getEnvelope();
  37. SOAPBody body = envelope.getBody();
  38. envelope.addNamespaceDeclaration("xs", namespace);
  39. envelope.setPrefix("soapenv");
  40. body.setPrefix("soapenv");
  41. SOAPHeader header = envelope.getHeader();
  42. header.setPrefix("soapenv");
  43. SOAPBodyElement element = body.addBodyElement(envelope.createName("contentRequest", "xs", namespace));
  44. element.setPrefix("xs");
  45. envelope.removeNamespaceDeclaration("SOAP-ENV");
  46. element.addChildElement("username", "xs").addTextNode(username);
  47. element.addChildElement("password", "xs").addTextNode(password);
  48. element.addChildElement("serviceId", "xs").addTextNode(serviceId);
  49. element.addChildElement("receiver", "xs").addTextNode(phone);
  50. element.addChildElement("content", "xs").addTextNode(content);
  51. element.addChildElement("isUnicode", "xs").addTextNode("0");
  52. element.addChildElement("transId", "xs").addTextNode(UUID.randomUUID().toString());
  53.  
  54. soapMsg.saveChanges();
  55. return soapMsg;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement