/*
 * Client.java
 *
 * Created on 18 June 2002, 16:43
 */

/**
 *
 * @author  dbc43
 * @version 
 */

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.namespace.QName;

public class Client {

    /** Creates new Client */
    public Client() {
    }

    /** Connect web servicea pass in the search criteria */
    private void connect() {
        
        // Connect to MDS web service
        //String endpoint = "http://localhost:8080/axis/Service.jws";
        String endpoint = "http://193.62.112.196:8080/axis/Service.jws";
        
        Service service = new Service();
        try {
            Call call = (Call)service.createCall();
        
            call.setTargetEndpointAddress( new java.net.URL(endpoint) );
            call.setOperationName( new QName("serviceTest") );
            
            call.addParameter( "host", XMLType.XSD_STRING, ParameterMode.PARAM_MODE_IN );
            //call.addParameter( "objectclass", XMLType.XSD_STRING, ParameterMode.PARAM_MODE_IN );
            //call.addParameter( "voname", XMLType.XSD_STRING, ParameterMode.PARAM_MODE_IN );
            call.addParameter( "attributeindex", XMLType.XSD_INT, ParameterMode.PARAM_MODE_IN );
            call.addParameter( "attributes", XMLType.SOAP_ARRAY, ParameterMode.PARAM_MODE_IN );
            call.setReturnType( XMLType.XSD_STRING );
        
            Integer testInt = new Integer(99);
            String testString = "I am a string!";
            String[] testArray = new String[]{"dog", "cat", "pig"};  
            
            String result = (String)call.invoke( new Object [] { testString, testArray,
                                                                 testInt });
            System.out.println("OUTPUT: " +result);
            
        }
        catch(Throwable e) {
            System.out.println("Failed to call MDS web service :"+"\n"
                               +e.getMessage());
            e.printStackTrace();
        }    
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        
        Client client = new Client();
        client.connect();
        
    }
}
