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