import javax.xml.soap.*;


/**
 * A factory that demonstrates the use of the javax.xml.soap
 * package.
 *
 * @author  Prof. David Bernstein, James Madison University
 * @version 1.0
 */
public class CurrencyConverterRequestFactory
{
    /**
     * Create a SOAPMessage for a CurrencyConverter request.
     */
    public static SOAPMessage createRequest(String from, String to, String amt)
        throws SOAPException
    {
        MessageFactory messageFactory = 
            MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);

        SOAPMessage  soapMessage  = messageFactory.createMessage();
        SOAPPart     soapPart     = soapMessage.getSOAPPart();
        SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
        SOAPBody     soapBody     = soapEnvelope.getBody();
        
        SOAPElement  currencyConverter = 
            soapBody.addChildElement("CurrencyConverter");
        SOAPElement  convert = currencyConverter.addChildElement("convert");

        SOAPElement  param;
        param = convert.addChildElement("fromCurrency");
        param.addTextNode(from);
        param = convert.addChildElement("toCurrency");
        param.addTextNode(to);
        param = convert.addChildElement("amount");
        param.addTextNode(amt);
        
        return soapMessage;
    }
    
    
}
