3.WSDL、服务端已经开发好,客户端静态调用服务端开放的服务:解释批处理WSDL-SQUARED.CMD生成的类

1.com.bjpowernode.ws.MyMathSoapBindingStub:存根,远端服务器的代理,实现接口com.bjpowernode.ws.MyMath_PortType

存根是远端服务器的代理,客户端不是直接跟远端服务器打交道,而是跟它的代理存根打交道,既然存根是远端服务器的代理,

那么存根和远端服务器实现了同一个接口,这个接口就是com.bjpowernode.ws.MyMath_PortType

/**
 * MyMathSoapBindingStub.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.bjpowernode.ws;

/**
 * 存根,远端服务器的代理,实现接口com.bjpowernode.ws.MyMath_PortType
 * @author Kevin
 *
 */
public class MyMathSoapBindingStub extends org.apache.axis.client.Stub implements com.bjpowernode.ws.MyMath_PortType {
    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[1];
        _initOperationDesc1();
    }

    private static void _initOperationDesc1(){
        org.apache.axis.description.OperationDesc oper;
        org.apache.axis.description.ParameterDesc param;
        oper = new org.apache.axis.description.OperationDesc();
        oper.setName("squared");
        param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "x"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"), int.class, false, false);
        oper.addParameter(param);
        oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
        oper.setReturnClass(int.class);
        oper.setReturnQName(new javax.xml.namespace.QName("", "squaredReturn"));
        oper.setStyle(org.apache.axis.constants.Style.RPC);
        oper.setUse(org.apache.axis.constants.Use.ENCODED);
        _operations[0] = oper;

    }

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

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

    public MyMathSoapBindingStub(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;
        }
        ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
    }

    protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
        try {
            org.apache.axis.client.Call _call = super._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 int squared(int x) 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.setUseSOAPAction(true);
        _call.setSOAPActionURI("");
        _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("http://DefaultNamespace", "squared"));

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

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

}


 

 

2.com.bjpowernode.ws.MyMath_PortType:存根(远端服务器的代理)和远端服务器共同的接口,共同实现方法squared

/**
 * MyMath_PortType.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.bjpowernode.ws;

/**
 * 存根(远端服务器的代理)和远端服务器共同的接口,共同实现方法squared
 * @author Kevin
 *
 */
public interface MyMath_PortType extends java.rmi.Remote {
    public int squared(int x) throws java.rmi.RemoteException;
}


 

 

3.com.bjpowernode.ws.MyMathService此接口可以得到存根com.bjpowernode.ws.MyMathSoapBindingStub,即是getMyMath()

/**
 * MyMathService.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.bjpowernode.ws;

/**
 * 此接口可以得到存根com.bjpowernode.ws.MyMathSoapBindingStub,即是getMyMath()
 * @author Kevin
 *
 */
public interface MyMathService extends javax.xml.rpc.Service {
    public java.lang.String getMyMathAddress();

    public com.bjpowernode.ws.MyMath_PortType getMyMath() throws javax.xml.rpc.ServiceException;

    public com.bjpowernode.ws.MyMath_PortType getMyMath(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
}


 

 

4.com.bjpowernode.ws.MyMathServiceLocator此类是对接口com.bjpowernode.ws.MyMathService的实现

/**
 * MyMathServiceLocator.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.bjpowernode.ws;

/**
 * 此类是对接口com.bjpowernode.ws.MyMathService的实现
 * @author Kevin
 *
 */
public class MyMathServiceLocator extends org.apache.axis.client.Service implements com.bjpowernode.ws.MyMathService {

    public MyMathServiceLocator() {
    }


    public MyMathServiceLocator(org.apache.axis.EngineConfiguration config) {
        super(config);
    }

    public MyMathServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
        super(wsdlLoc, sName);
    }

    // Use to get a proxy class for MyMath
    private java.lang.String MyMath_address = "http://localhost:8080/axis/MyMath.jws";

    public java.lang.String getMyMathAddress() {
        return MyMath_address;
    }

    // The WSDD service name defaults to the port name.
    private java.lang.String MyMathWSDDServiceName = "MyMath";

    public java.lang.String getMyMathWSDDServiceName() {
        return MyMathWSDDServiceName;
    }

    public void setMyMathWSDDServiceName(java.lang.String name) {
        MyMathWSDDServiceName = name;
    }

    public com.bjpowernode.ws.MyMath_PortType getMyMath() throws javax.xml.rpc.ServiceException {
       java.net.URL endpoint;
        try {
            endpoint = new java.net.URL(MyMath_address);
        }
        catch (java.net.MalformedURLException e) {
            throw new javax.xml.rpc.ServiceException(e);
        }
        return getMyMath(endpoint);
    }

    public com.bjpowernode.ws.MyMath_PortType getMyMath(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
        try {
            com.bjpowernode.ws.MyMathSoapBindingStub _stub = new com.bjpowernode.ws.MyMathSoapBindingStub(portAddress, this);
            _stub.setPortName(getMyMathWSDDServiceName());
            return _stub;
        }
        catch (org.apache.axis.AxisFault e) {
            return null;
        }
    }

    public void setMyMathEndpointAddress(java.lang.String address) {
        MyMath_address = address;
    }

    /**
     * For the given interface, get the stub implementation.
     * If this service has no port for the given interface,
     * then ServiceException is thrown.
     */
    public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
        try {
            if (com.bjpowernode.ws.MyMath_PortType.class.isAssignableFrom(serviceEndpointInterface)) {
                com.bjpowernode.ws.MyMathSoapBindingStub _stub = new com.bjpowernode.ws.MyMathSoapBindingStub(new java.net.URL(MyMath_address), this);
                _stub.setPortName(getMyMathWSDDServiceName());
                return _stub;
            }
        }
        catch (java.lang.Throwable t) {
            throw new javax.xml.rpc.ServiceException(t);
        }
        throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface:  " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
    }

    /**
     * For the given interface, get the stub implementation.
     * If this service has no port for the given interface,
     * then ServiceException is thrown.
     */
    public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
        if (portName == null) {
            return getPort(serviceEndpointInterface);
        }
        java.lang.String inputPortName = portName.getLocalPart();
        if ("MyMath".equals(inputPortName)) {
            return getMyMath();
        }
        else  {
            java.rmi.Remote _stub = getPort(serviceEndpointInterface);
            ((org.apache.axis.client.Stub) _stub).setPortName(portName);
            return _stub;
        }
    }

    public javax.xml.namespace.QName getServiceName() {
        return new javax.xml.namespace.QName("http://localhost:8080/axis/MyMath.jws", "MyMathService");
    }

    private java.util.HashSet ports = null;

    public java.util.Iterator getPorts() {
        if (ports == null) {
            ports = new java.util.HashSet();
            ports.add(new javax.xml.namespace.QName("http://localhost:8080/axis/MyMath.jws", "MyMath"));
        }
        return ports.iterator();
    }

    /**
    * Set the endpoint address for the specified port name.
    */
    public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
        
if ("MyMath".equals(portName)) {
            setMyMathEndpointAddress(address);
        }
        else 
{ // Unknown Port Name
            throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);
        }
    }

    /**
    * Set the endpoint address for the specified port name.
    */
    public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
        setEndpointAddress(portName.getLocalPart(), address);
    }

}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值