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

来源:互联网 发布:js视频如何拉动进度条 编辑:程序博客网 时间:2024/06/12 20:23

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);    }}


 

 

原创粉丝点击