/**
 * HelloWorldWSDLSoapBindingStub.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis Wsdl2java emitter.
 */

package com.fluidimagination.www;

public class HelloWorldWSDLSoapBindingStub extends javax.xml.rpc.Stub 
        implements com.fluidimagination.www.HelloWorldWSDLPortType {
    private org.apache.axis.client.Service service = null ;
    private org.apache.axis.client.Call call = null ;
    private java.util.Hashtable properties = new java.util.Hashtable();

    public HelloWorldWSDLSoapBindingStub(java.net.URL endpointURL) 
        throws org.apache.axis.AxisFault {
         this();
         call.setTargetEndpointAddress( endpointURL );
         call.setProperty(org.apache.axis.transport.http.HTTPTransport.URL, 
             endpointURL.toString());
    }
    public HelloWorldWSDLSoapBindingStub() throws org.apache.axis.AxisFault {
        try {
            service = new org.apache.axis.client.Service();
            call = (org.apache.axis.client.Call) service.createCall();
        }
        catch(Exception t) {
            throw org.apache.axis.AxisFault.makeFault(t);
        }
    }

    public void _setProperty(String name, Object value) {
        properties.put(name, value);
    }

    // From javax.xml.rpc.Stub
    public Object _getProperty(String name) {
        return properties.get(name);
    }

    // From javax.xml.rpc.Stub
    public void _setTargetEndpoint(java.net.URL address) {
        call.setProperty(org.apache.axis.transport.http.HTTPTransport.URL, 
            address.toString());
    }

    // From javax.xml.rpc.Stub
    public java.net.URL _getTargetEndpoint() {
        try {
            return new java.net.URL((String) 
                call.getProperty(org.apache.axis.transport.http.HTTPTransport.URL));
        }
        catch (java.net.MalformedURLException mue) {
            return null; // ???
        }
    }

    // From javax.xml.rpc.Stub
    public synchronized void setMaintainSession(boolean session) {
        call.setMaintainSession(session);
    }

    // From javax.naming.Referenceable
    public javax.naming.Reference getReference() {
        return null; // ???
    }

    public java.lang.String helloWorld() throws java.rmi.RemoteException{
        if (call.getProperty(org.apache.axis.transport.http.HTTPTransport.URL) 
                == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        call.removeAllParameters();
        call.setReturnType(new org.apache.axis.encoding.XMLType(
            new javax.xml.rpc.namespace.QName("http://www.w3.org/2001/XMLSchema", 
            "string")));

        call.setProperty(org.apache.axis.transport.http.HTTPTransport.ACTION, "");
        call.setProperty(call.NAMESPACE, 
            "http://www.fluidimagination.com/wsdl/HelloWorldWSDL");
        call.setOperationName( "helloWorld");
        Object resp = call.invoke(new Object[] {});

        if (resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)resp;
        }
        else {
             return (java.lang.String) resp;
        }
    }
}
