java 调用wcf_Java调用wcf

这个博客详细介绍了如何使用Java通过BasicHttpBinding_IGetAccountServiceStub类调用WCF服务。它提供了三个操作:GetAccountPass、GetAccountName和GetAccount,分别用于获取账户密码、账户名和账户信息。代码示例展示了使用Apache Axis库进行调用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码/**

* BasicHttpBinding_IGetAccountServiceStub.java

*

* This file was auto-generated from WSDL

* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.*/package wcf;public classBasicHttpBinding_IGetAccountServiceStub extends org.apache.axis.client.Stub implements wcf.IGetAccountService {private java.util.Vector cachedSerClasses = newjava.util.Vector();private java.util.Vector cachedSerQNames = newjava.util.Vector();private java.util.Vector cachedSerFactories = newjava.util.Vector();private java.util.Vector cachedDeserFactories = newjava.util.Vector();staticorg.apache.axis.description.OperationDesc [] _operations;static{

_operations= new org.apache.axis.description.OperationDesc[3];

_initOperationDesc1();

}private static void_initOperationDesc1(){

org.apache.axis.description.OperationDesc oper;

org.apache.axis.description.ParameterDesc param;

oper= neworg.apache.axis.description.OperationDesc();

oper.setName("GetAccountPass");

param= new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "uname"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);

param.setOmittable(true);

param.setNillable(true);

oper.addParameter(param);

oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));

oper.setReturnClass(java.lang.String.class);

oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccountPassResult"));

oper.setStyle(org.apache.axis.constants.Style.WRAPPED);

oper.setUse(org.apache.axis.constants.Use.LITERAL);

_operations[0] =oper;

oper= neworg.apache.axis.description.OperationDesc();

oper.setName("GetAccountName");

oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));

oper.setReturnClass(java.lang.String.class);

oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccountNameResult"));

oper.setStyle(org.apache.axis.constants.Style.WRAPPED);

oper.setUse(org.apache.axis.constants.Use.LITERAL);

_operations[1] =oper;

oper= neworg.apache.axis.description.OperationDesc();

oper.setName("GetAccount");

param= new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "username"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);

param.setOmittable(true);

param.setNillable(true);

oper.addParameter(param);

oper.setReturnType(new javax.xml.namespace.QName("http://schemas.datacontract.org/2004/07/", "Account"));

oper.setReturnClass(wcf.Account.class);

oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccountResult"));

oper.setStyle(org.apache.axis.constants.Style.WRAPPED);

oper.setUse(org.apache.axis.constants.Use.LITERAL);

_operations[2] =oper;

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

}publicBasicHttpBinding_IGetAccountServiceStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {this(service);

super.cachedEndpoint=endpointURL;

}publicBasicHttpBinding_IGetAccountServiceStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {if (service == null) {

super.service= neworg.apache.axis.client.Service();

}else{

super.service=service;

}

((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");

java.lang.Class cls;

javax.xml.namespace.QName qName;

javax.xml.namespace.QName qName2;

java.lang.Class beansf= org.apache.axis.encoding.ser.BeanSerializerFactory.class;

java.lang.Class beandf= org.apache.axis.encoding.ser.BeanDeserializerFactory.class;

java.lang.Class enumsf= org.apache.axis.encoding.ser.EnumSerializerFactory.class;

java.lang.Class enumdf= org.apache.axis.encoding.ser.EnumDeserializerFactory.class;

java.lang.Class arraysf= org.apache.axis.encoding.ser.ArraySerializerFactory.class;

java.lang.Class arraydf= org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;

java.lang.Class simplesf= org.apache.axis.encoding.ser.SimpleSerializerFactory.class;

java.lang.Class simpledf= org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;

java.lang.Class simplelistsf= org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;

java.lang.Class simplelistdf= org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;

qName= new javax.xml.namespace.QName("http://schemas.datacontract.org/2004/07/", "Account");

cachedSerQNames.add(qName);

cls= wcf.Account.class;

cachedSerClasses.add(cls);

cachedSerFactories.add(beansf);

cachedDeserFactories.add(beandf);

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

}//All the type mapping information is registered//when the first call is made.//The type mapping information is actually registered in//the TypeMappingRegistry of the service, which//is the reason why registration is only needed for the first call.

synchronized (this) {if(firstCall()) {//must set encoding style before registering serializers

_call.setEncodingStyle(null);for (int i = 0; i < cachedSerFactories.size(); ++i) {

java.lang.Class cls= (java.lang.Class) cachedSerClasses.get(i);

javax.xml.namespace.QName qName =(javax.xml.namespace.QName) cachedSerQNames.get(i);

java.lang.Object x= cachedSerFactories.get(i);if(x instanceof Class) {

java.lang.Class sf=(java.lang.Class)

cachedSerFactories.get(i);

java.lang.Class df=(java.lang.Class)

cachedDeserFactories.get(i);

_call.registerTypeMapping(cls, qName, sf, df,false);

}else if(x instanceof javax.xml.rpc.encoding.SerializerFactory) {

org.apache.axis.encoding.SerializerFactory sf=(org.apache.axis.encoding.SerializerFactory)

cachedSerFactories.get(i);

org.apache.axis.encoding.DeserializerFactory df=(org.apache.axis.encoding.DeserializerFactory)

cachedDeserFactories.get(i);

_call.registerTypeMapping(cls, qName, sf, df,false);

}

}

}

}return_call;

}catch(java.lang.Throwable _t) {throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);

}

}publicjava.lang.String getAccountPass(java.lang.String uname) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {throw neworg.apache.axis.NoEndPointException();

}

org.apache.axis.client.Call _call=createCall();

_call.setOperation(_operations[0]);

_call.setUseSOAPAction(true);

_call.setSOAPActionURI("http://tempuri.org/IGetAccountService/GetAccountPass");

_call.setEncodingStyle(null);

_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);

_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);

_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

_call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccountPass"));

setRequestHeaders(_call);

setAttachments(_call);try { java.lang.Object _resp = _call.invoke(newjava.lang.Object[] {uname});if(_resp instanceof java.rmi.RemoteException) {throw(java.rmi.RemoteException)_resp;

}else{

extractAttachments(_call);try{return(java.lang.String) _resp;

}catch(java.lang.Exception _exception) {return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);

}

}

}catch(org.apache.axis.AxisFault axisFaultException) {throwaxisFaultException;

}

}publicjava.lang.String getAccountName() throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {throw neworg.apache.axis.NoEndPointException();

}

org.apache.axis.client.Call _call=createCall();

_call.setOperation(_operations[1]);

_call.setUseSOAPAction(true);

_call.setSOAPActionURI("http://tempuri.org/IGetAccountService/GetAccountName");

_call.setEncodingStyle(null);

_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);

_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);

_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

_call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccountName"));

setRequestHeaders(_call);

setAttachments(_call);try { java.lang.Object _resp = _call.invoke(newjava.lang.Object[] {});if(_resp instanceof java.rmi.RemoteException) {throw(java.rmi.RemoteException)_resp;

}else{

extractAttachments(_call);try{return(java.lang.String) _resp;

}catch(java.lang.Exception _exception) {return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);

}

}

}catch(org.apache.axis.AxisFault axisFaultException) {throwaxisFaultException;

}

}publicwcf.Account getAccount(java.lang.String username) throws java.rmi.RemoteException {if (super.cachedEndpoint == null) {throw neworg.apache.axis.NoEndPointException();

}

org.apache.axis.client.Call _call=createCall();

_call.setOperation(_operations[2]);

_call.setUseSOAPAction(true);

_call.setSOAPActionURI("http://tempuri.org/IGetAccountService/GetAccount");

_call.setEncodingStyle(null);

_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);

_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);

_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);

_call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "GetAccount"));

setRequestHeaders(_call);

setAttachments(_call);try { java.lang.Object _resp = _call.invoke(newjava.lang.Object[] {username});if(_resp instanceof java.rmi.RemoteException) {throw(java.rmi.RemoteException)_resp;

}else{

extractAttachments(_call);try{return(wcf.Account) _resp;

}catch(java.lang.Exception _exception) {return (wcf.Account) org.apache.axis.utils.JavaUtils.convert(_resp, wcf.Account.class);

}

}

}catch(org.apache.axis.AxisFault axisFaultException) {throwaxisFaultException;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值