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

package org.random.www.RandomDotOrg_wsdl;

public class RandomDotOrgBindingStub extends org.apache.axis.client.Stub 
    implements org.random.www.RandomDotOrg_wsdl.RandomDotOrgPortType {
  private java.util.Vector cachedSerClasses = new java.util.Vector();
  private java.util.Vector cachedSerQNames = new java.util.Vector();
  private java.util.Vector cachedSerFactories = new java.util.Vector();
  private java.util.Vector cachedDeserFactories = new java.util.Vector();

  static org.apache.axis.description.OperationDesc [] _operations;

  static {
    _operations = new org.apache.axis.description.OperationDesc[2];
    org.apache.axis.description.OperationDesc oper;
    oper = new org.apache.axis.description.OperationDesc();
    oper.setName("lrand48");
    oper.setReturnType(new javax.xml.namespace.QName(
      "http://www.w3.org/2001/XMLSchema", "unsignedLong"));
    oper.setReturnClass(org.apache.axis.types.UnsignedLong.class);
    oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
    oper.setStyle(org.apache.axis.enum.Style.RPC);
    oper.setUse(org.apache.axis.enum.Use.ENCODED);
    _operations[0] = oper;

    oper = new org.apache.axis.description.OperationDesc();
    oper.setName("mrand48");
    oper.setReturnType(new javax.xml.namespace.QName(
      "http://www.w3.org/2001/XMLSchema", "long"));
    oper.setReturnClass(long.class);
    oper.setReturnQName(new javax.xml.namespace.QName("", "return"));
    oper.setStyle(org.apache.axis.enum.Style.RPC);
    oper.setUse(org.apache.axis.enum.Use.ENCODED);
    _operations[1] = oper;

  }

  public RandomDotOrgBindingStub() throws org.apache.axis.AxisFault {
    this(null);
  }

  public RandomDotOrgBindingStub(java.net.URL endpointURL, 
      javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
    this(service);
    super.cachedEndpoint = endpointURL;
  }

  public RandomDotOrgBindingStub(javax.xml.rpc.Service service) 
      throws org.apache.axis.AxisFault {
    if (service == null) {
      super.service = new org.apache.axis.client.Service();
    } else {
      super.service = service;
      }
  }

  private org.apache.axis.client.Call createCall() 
      throws java.rmi.RemoteException {
    try {
      org.apache.axis.client.Call _call =
        (org.apache.axis.client.Call) super.service.createCall();
      if (super.maintainSessionSet) {
        _call.setMaintainSession(super.maintainSession);
      }
      if (super.cachedUsername != null) {
        _call.setUsername(super.cachedUsername);
      }
      if (super.cachedPassword != null) {
        _call.setPassword(super.cachedPassword);
      }
      if (super.cachedEndpoint != null) {
        _call.setTargetEndpointAddress(super.cachedEndpoint);
      }
      if (super.cachedTimeout != null) {
        _call.setTimeout(super.cachedTimeout);
      }
      if (super.cachedPortName != null) {
        _call.setPortName(super.cachedPortName);
      }
      java.util.Enumeration keys = super.cachedProperties.keys();
      while (keys.hasMoreElements()) {
        java.lang.String key = (java.lang.String) keys.nextElement();
        _call.setProperty(key, super.cachedProperties.get(key));
      }
      return _call;
    }
    catch (java.lang.Throwable t) {
      throw new org.apache.axis.AxisFault(
        "Failure trying to get the Call object", t);
    }
  }

  public org.apache.axis.types.UnsignedLong lrand48() 
      throws java.rmi.RemoteException {
    if (super.cachedEndpoint == null) {
      throw new org.apache.axis.NoEndPointException();
    }
    org.apache.axis.client.Call _call = createCall();
    _call.setOperation(_operations[0]);
    _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.
      SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName(
      "RandomDotOrg", "lrand48"));

    setRequestHeaders(_call);
    setAttachments(_call);
    java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});

    if (_resp instanceof java.rmi.RemoteException) {
      throw (java.rmi.RemoteException)_resp;
    }
    else {
      extractAttachments(_call);
      try {
        return (org.apache.axis.types.UnsignedLong) _resp;
      } catch (java.lang.Exception _exception) {
          return (org.apache.axis.types.UnsignedLong) 
            org.apache.axis.utils.JavaUtils.convert(
              _resp, org.apache.axis.types.UnsignedLong.class);
        }
      }
  }

  public long mrand48() throws java.rmi.RemoteException {
    if (super.cachedEndpoint == null) {
      throw new org.apache.axis.NoEndPointException();
    }
    org.apache.axis.client.Call _call = createCall();
    _call.setOperation(_operations[1]);
    _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.
      SOAP11_CONSTANTS);
    _call.setOperationName(new javax.xml.namespace.QName(
      "RandomDotOrg", "mrand48"));

    setRequestHeaders(_call);
    setAttachments(_call);
    java.lang.Object _resp = 
      _call.invoke(new java.lang.Object[] {});

    if (_resp instanceof java.rmi.RemoteException) {
      throw (java.rmi.RemoteException)_resp;
    }
    else {
      extractAttachments(_call);
      try {
        return ((java.lang.Long) _resp).longValue();
      } catch (java.lang.Exception _exception) {
      return ((java.lang.Long) 
        org.apache.axis.utils.JavaUtils.convert(
          _resp, long.class)).longValue();
      }
    }
  }
}
