/*
 * Created on 30 oct. 2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package org.tempuri.sample;

import javax.xml.rpc.Call;
import javax.xml.rpc.Service;
import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.ParameterMode;


/**
 * @author Xavier
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Dynamicclient {

	private static String qnameService = "Presidential Election Results 2004";

	private static String qnamePort = "Presidential Election Results 2004PortType";

	private static String BODY_NAMESPACE_VALUE = "http://dietrich.ganx4.com/";

	private static String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";

	private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";

	private static String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";

public static void main(String[] args) {
	            
	                System.out.println("Endpoint address = " + args[0]);

	                try {
	                    ServiceFactory factory = 
	                        ServiceFactory.newInstance();
	                    Service service = 
	                        factory.createService(
	                        new QName(qnameService));
	            
	                    QName port = new QName(qnamePort);
	            
	                    Call call = service.createCall(port);
	                    call.setTargetEndpointAddress(args[0]);
	            
	                    call.setProperty(Call.SOAPACTION_USE_PROPERTY, 
	                        new Boolean(true));
	                    call.setProperty(Call.SOAPACTION_URI_PROPERTY,
	                         "");
	                    call.setProperty(ENCODING_STYLE_PROPERTY,
	                        URI_ENCODING);
	                    QName QNAME_TYPE_STRING = 
	                                new QName(NS_XSD, "string");
	                    //call.setReturnType(QNAME_TYPE_STRING);

	                    call.setOperationName(
	                        new QName(BODY_NAMESPACE_VALUE,"whoisgoingtobepresident"));
//	                    call.addParameter("String_1", QNAME_TYPE_STRING, 
//	                        ParameterMode.IN);
	                    String[] params = {};

	                    Object result = call.invoke(params);
	                    System.out.println(result);

	                } catch (Exception ex) {
	                    ex.printStackTrace();
	                }
	            }}