import java.util.*;
import java.net.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;

public class testCurrencyConvert
{
	public static void main(String[] args) throws Exception
	{
		URL url = new URL("http://javaServices.CurrencyConvert.com/soap/servlet/rpcrouter");

      // build the call.
      Call myCall = new Call();
      myCall.setTargetObjectURI("urn:ExampleJavaServices:CurrencyConvert");
      myCall.setMethodName("convert");

    	myCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
      Vector params = new Vector();

		params.addElement(new Parameter("inCurrency", Short.class, "2", null));
		params.addElement(new Parameter("outCurrency", Short.class, "2", null));
		params.addElement(new Parameter("amount", Double.class, "100", null));
      myCall.setParams(params);

        // invoke it
        Response resp;
        try
        {
            resp = myCall.invoke(url, null);
        } //try
        catch(SOAPException e) {
            System.err.println("Caught SOAPException (" +
                               e.getFaultCode () + "): " +
                               e.getMessage ());
            return;
        } //catch

        // check response
        if (!resp.generatedFault())
        {
            Parameter ret = resp.getReturnValue();
            Object value = ret.getValue();

            System.out.println("result:" + value);
        } //if
        else
        {
            Fault fault = resp.getFault();
            System.err.println("Generated fault: ");
            System.out.println("  Fault Code   = " + fault.getFaultCode());
            System.out.println("  Fault String = " + fault.getFaultString());
        } //else
    } //main()
} //class testCurrencyConvert

