Servicio de envío de mensajes SMS

De Wiki-SIC
Saltar a navegación, buscar

Ejemplos de uso

Los ejemplos aquí aportados has sido realizados por el dpto. de desarrollo de la JCCM y son solo orientativos.


JMS


// Context para acceder a las colas JMS.
InitialContext jndiContext = new InitialContext(props);

if (gesJMSprop.getSenderQueue() != null) {
queueSend = (Queue) jndiContext.lookup(gesJMSprop.getSenderQueue());
} else {
queueSend = (Queue) jndiContext.lookup("");
}

if (gesJMSprop.getQueueConnectionFactory() != null) {
qcf = (QueueConnectionFactory) jndiContext.lookup(gesJMSprop .getQueueConnectionFactory());
} else {
qcf = (QueueConnectionFactory) jndiContext.lookup("");
}

qc = qcf.createQueueConnection();
qs = qc.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
qsnd = qs.createSender(queueSend);
qc.start();



A LA COLA DE RECEPCIÓN DE CONFIRMACIONES
========================================
// Context para acceder a las colas JMS.
InitialContext jndiContext;
try {
jndiContext = new InitialContext(props);
if (gesJMSprop.getQueueConnectionFactory() != null) {
qcf = (QueueConnectionFactory) jndiContext.lookup(gesJMSprop
.getQueueConnectionFactory());
} else {
qcf = (QueueConnectionFactory) jndiContext.lookup("");
}
if (gesJMSprop.getReceiverQueue() != null) {
queueReceiver = (Queue) jndiContext.lookup(gesJMSprop
.getReceiverQueue());
} else {
queueReceiver = (Queue) jndiContext.lookup(""); }

qc = qcf.createQueueConnection();
qs = qc.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
qrcv = qs.createReceiver(queueReceiver,
"service='" + gesJMSprop.getRefProduct() + "'");

} catch (NamingException e) {
// TODO Auto-generated catch block


log.error("SchedulerServer:ServicePullJMS:: Error en inicio JMS Receiver "
+ e.toString());
} catch (JMSException e) {
// TODO Auto-generated catch block
log.error("SchedulerServer:ServicePullJMS:: Error en inicio JMS Receiver "
+ e.toString());
}


PROPERTIES
==========
<jmsproperties>
<user>
<userContract>1070</userContract>
<userpwd>*****</userpwd>
<refProduct>Fomento</refProduct>
</user>
<jms>
<providerURL>
<host>sms.jccm.es</host>
<port>7001</port>
</providerURL>
<QueueConnectionFactory>latinia/limsp/jms/connectionFactory/XAConnectionFactory
</QueueConnectionFactory>
<senderQueue>latinia/limsp/jms/queue/serviceToLimsp/normalAuth

</senderQueue>
<receiverQueue>latinia/limsp/jms/queue/limspToService/normalAuth </receiverQueue> <initial_context_factory>weblogic.jndi.WLInitialContextFactory
</initial_context_factory>
<synchronous>1</synchronous>
</jms>
</jmsproperties>



Web service

public int enviarMensaje(String usuInnovus, String clave, Mensaje mensaje) throws Exception {

// Variable para mostrar el resultado de la operación

int respuesta = 0;

// Generamos el mensaje SMS (es un XML)

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

DOMImplementation implementation = builder.getDOMImplementation();

Document document = implementation.createDocument(null,"message",null);

Element head = document.createElement("head");

Element type = document.createElement("type");

Element format = document.createElement("format");

Element mroute = document.createElement("mroute");

Element info = document.createElement("info");

Element gsmDest = document.createElement("gsmDest");

Element loginEnterprise = document.createElement("loginEnterprise");

Element refContract = document.createElement("refContract");

Element body = document.createElement("body");

Element contentOut = document.createElement("contentOut");

Text textFormat = document.createTextNode("text");

Text textMroute = document.createTextNode("MT");

Text textGsmDest = document.createTextNode("+34"+mensaje.getTelefonoDestino());

Text textLoginEnterprise = document.createTextNode("INNOVUS");

Text textRefContract = document.createTextNode(mensaje.getContrato());

Text textContentOut = document.createTextNode(mensaje.getTextoMensaje());

document.getDocumentElement().appendChild(head);

document.getDocumentElement().appendChild(body);

head.appendChild(type);

head.appendChild(info);

body.appendChild(contentOut);

type.appendChild(format);

type.appendChild(mroute);

info.appendChild(gsmDest);

info.appendChild(loginEnterprise);

info.appendChild(refContract);

document.getDocumentElement().setAttribute("id",mensaje.getIdMensaje());

document.getDocumentElement().setAttribute("ts",String.valueOf(System.currentTimeMillis()));

type.setAttribute("ref","sms");


format.appendChild(textFormat);

mroute.appendChild(textMroute);

gsmDest.appendChild(textGsmDest);

loginEnterprise.appendChild(textLoginEnterprise);

refContract.appendChild(textRefContract);

contentOut.appendChild(textContentOut);

TransformerFactory transFactory = TransformerFactory.newInstance();

Transformer transformer = transFactory.newTransformer();

DOMSource source = new DOMSource(document);

ByteArrayOutputStream ba = new ByteArrayOutputStream();

StreamResult result = new StreamResult(ba);

transformer.transform(source, result);

String xml = ba.toString();

// Enviamos el mensaje utilizando el servicio web.

try {

// Llamada utilizando las librerías de apache

Ws_adaptor adaptor = new Ws_adaptorLocator();

Ws_adaptorPort port = adaptor.getws_adaptorPort(new URL(URL_WS));

port.putMessage(xml,usuInnovus,clave);

}

catch (SOAPException e) {

logger.error("Error al enviar mensaje:"+e.getMessage());

respuesta = 1;

}

// Retorna 0 si todo ha ido bien en caso contrario retorna 1

return respuesta;

}//Método


Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Información General
Webmail
Otras cosas
Herramientas