Java | SmsHosting.it
icon_qa
INTRODUZIONI API SOAP

JAVA

Viene proposto di seguito un breve tutorial su come sia possibile interfacciarsi con i web services offerti da Smshosting tramite il linguaggio di programmazione Java.

Nel esempio verrà utilizzata la libreria JAX-WS 2.1 per creare il client ma è possibile utilizzare un qualsiasi altro framework presente sul mercato (Axis,Axis2,XFire…).

1. assicurarsi di avere a disposizione questi elementi
* JDK 1.5 o superiore
* JAX-WS 2.1 o superiore

2. utilizzare la funzione wsimport, offerta da JAX-WS, per generare il client dei tre web service a partire dai WSDL

http://ws.smshosting.it/smsWebService/ManagePhoneBook?WSDL

http://ws.smshosting.it/smsWebService/ManageUser?WSDL

http://ws.smshosting.it/smsWebService/ManageSms?WSDL

oppure scaricare il client già generato da qui.
Aggiungere al classpath della applicazione il jar contenente il client.

3. A questo punto sarà sufficiente invocare i vari metodi del client per interfacciarsi in modo trasparente ai web services.
Ad esempio per inviare un messaggio saranno sufficienti queste poche righe di codice

ManageSmsWrapper smsWrapper = new ManageSmsWrapper(username,password);

//Invio SMS

SendResponse sendResult = smsWrapper.send("from", "393480000000", "Sms Test "+System.currentTimeMillis(), null, null);

Utility.checkOperarationResult(sendResult);

dove il metodo “send” ed il metodo “checkOperarationResult” della classe ManageSmsWrapper ed Utility sono così definiti:

public SendResponse send(String from,String to,String text, String customerId,String transactionId){

SendPayLoad sendPayLoad = new SendPayLoad();
sendPayLoad.setUsername(username);
sendPayLoad.setPassword(password);
sendPayLoad.setFrom(from);
sendPayLoad.setText(text);

sendPayLoad.setTransactionId(transactionId);
Msisdn msisdn = new Msisdn();
msisdn.setNumber(to);
msisdn.setCustomerId(customerId);

sendPayLoad.getNumbers().add(msisdn);
return port.send(sendPayLoad);

}

public static void checkOperarationResult(CommonResponse response){
if(response == null || !"SUCCESS".equals(response.getOperationResult())){
String detail = (response != null) ? "detail: "+response.getOperationDetail() : "";
throw new IllegalStateException("call FAILED. "+detail);
}
}

La classe ManageSmsWrapper è una classe che consente di accedere al client dei web services in modo rapido e semplice. E’ possibile ottenere tale classe scaricando l’esempio completo del tutorial.