in modules/sms/src/main/java/org/apache/axis2/transport/sms/DefaultSMSMessageFormatterImpl.java [32:71]
public SMSMessage formatSMS(MessageContext messageContext) throws Exception {
String sendTo;
//phone number set at the Transport configuration get the precidence
String axis2PhoneNumber = SMPPTransportOutDetails.getInstence().getPhoneNumber() ;
Object s= messageContext.getProperty(SMSTransportConstents.SEND_TO);
if (s != null) {
sendTo = (String)s;
} else {
sendTo = SMSTransportUtils.getPhoneNumber(messageContext.getTo());
}
OMElement elem = messageContext.getEnvelope().getBody();
String content = "Empty responce";
boolean cont = true;
while(cont) {
content = elem.getFirstElement().getText();
if("".equals(content) || content == null) {
elem = elem.getFirstElement();
if(elem == null) {
cont = false;
content = "Empty responce";
}
} else {
cont = false;
}
}
//if not configured in the Transport configuration
if("0000".equals(axis2PhoneNumber)) {
String axisPhone = (String)messageContext.getProperty(SMSTransportConstents.DESTINATION);
if(axisPhone != null) {
axis2PhoneNumber = axisPhone;
}
}
SMSMessage sms = new SMSMessage( axis2PhoneNumber, sendTo , content ,SMSMessage.OUT_MESSAGE);
handleMessageContextProperties(sms,messageContext);
return sms;
}