public MessageContext buildMessaage()

in modules/sms/src/main/java/org/apache/axis2/transport/sms/DefaultSMSMessageBuilderImpl.java [57:119]


    public MessageContext buildMessaage(SMSMessage msg,ConfigurationContext configurationContext)
            throws InvalidMessageFormatException {
        String message = msg.getContent();
        String sender =  msg.getSender();
        String receiver = msg.getReceiver();
        String[] parts = message.split(":");


        //may be can add feature to send message format for a request like ????
        if (parts.length < 2) {
            throw new InvalidMessageFormatException("format must be  \"service_name \" : \"opration_name\" : " +
                    "\"parm_1=val_1\" :..:\"param_n = val_n\"");
        } else {
            AxisConfiguration repo = configurationContext.getAxisConfiguration();
            MessageContext messageContext = configurationContext.createMessageContext();

            parts = trimSplited(parts);

            try {
                AxisService axisService = repo.getService(parts[0]);
                if (axisService == null) {

                    throw new InvalidMessageFormatException("Service : " + parts[0] + "does not exsist");

                } else {
                    messageContext.setAxisService(axisService);
                    AxisOperation axisOperation = axisService.getOperation(new QName(parts[1]));

                    if (axisOperation == null) {
                        throw new InvalidMessageFormatException("Operation: " + parts[1] + " does not exsist");
                    }

                    messageContext.setAxisOperation(axisOperation);

                    messageContext.setAxisMessage(axisOperation.getMessage(
                            WSDLConstants.MESSAGE_LABEL_IN_VALUE));

                    Map params = getParams(parts,2);

                    SOAPEnvelope soapEnvelope = createSoapEnvelope(messageContext , params);
                    messageContext.setServerSide(true);
                    messageContext.setEnvelope(soapEnvelope);
                    TransportInDescription in = configurationContext.getAxisConfiguration().getTransportIn("sms");
                    TransportOutDescription out = configurationContext.getAxisConfiguration().getTransportOut("sms");
                    messageContext.setProperty(SMSTransportConstents.SEND_TO , sender);
                    messageContext.setProperty(SMSTransportConstents.DESTINATION , receiver);
                    messageContext.setTransportIn(in);
                    messageContext.setTransportOut(out);
                    handleSMSProperties(msg , messageContext);
                    return messageContext;
                }


            } catch (AxisFault axisFault) {
                log.debug("[DefaultSMSMessageBuilderImpl] Error while extracting the axis2Service \n" +
                        axisFault);
            }

        }


        return null;
    }