微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > 系统帮助

java如何调用服务

时间:2024-11-06 00:12:09   

大家好,今天Win10系统之家小编给大家分享「java如何调用服务」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

安泰服务app系列软件最新版本下载

1.java调用webservice接口具体怎么调用


  java调用webservice可以直接使用apache提供的axis.jar自己编写代码,或者利用eclipse自动生成webserviceclient代码,利用其中的proxy类进行调用。理论上是一样的,只不过用eclipse自动生成代码省事些。
1、编写代码方式:
packagecom.yudun.test;
importjava.rmi.remoteexception;
importorg.apache.axis.client.call;
importorg.apache.axis.client.service;
importorg.apache.axis.message.prefixedqname;
importorg.apache.axis.message.soapheaderelement;
importcom.cezanne.golden.user.exception;
importcom.cezanne.golden.user.usermanagerserviceproxy;
importjavax.xml.namespace.qname;
importjava.net.malformedurlexception;
importjavax.xml.rpc.serviceexception;
importjavax.xml.soap.name;
importjavax.xml.soap.soapexception;
publicclasstestwebservice{
publicstaticstringgetresult()throwsserviceexception,malformedurlexception,remoteexception,soapexception
{
//标识webservice的具体路径
stringendpoint="webservice服务地址";
//创建service实例
serviceservice=newservice();
//通过service实例创建call的实例
callcall=(call)service.createcall();
//将webservice的服务路径加入到call实例之中.
call.settargetendpointaddress(newjava.net.url(endpoint));//为call设置服务的位置
//由于需要认证,故需要设置调用的soap头信息。
nameheadername=newprefixedqname(newqname("发布的wsdl里的targetnamespace里的url","string_itemname"));
org.apache.axis.message.soapheaderelementheader=newsoapheaderelement(headername);
header.addtextnode("blablabla");
call.addheader(header);
//soapheaderelementsoapheaderelement=newsoapheaderelement("发布的wsdl里的targetnamespace里的url","soapheader");
//soapheaderelement.setnamespaceuri("发布的wsdl里的targetnamespace里的url");
//try
//{
//soapheaderelement.addchildelement("string_itemname").setvalue("blablabla");
//}
//catch(soapexceptione)
//{
//e.printstacktrace();
//}
//call.addheader(soapheaderelement);
//调用webservice的方法
org.apache.axis.description.operationdescoper;
org.apache.axis.description.parameterdescparam;
oper=neworg.apache.axis.description.operationdesc();
oper.setname("opname");
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg0"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg1"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg2"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
oper.setreturntype(newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"));
oper.setreturnclass(java.lang.string.class);
oper.setreturnqname(newjavax.xml.namespace.qname("","return"));
oper.setstyle(org.apache.axis.constants.style.wrapped);
oper.setuse(org.apache.axis.constants.use.literal);
oper.addfault(neworg.apache.axis.description.faultdesc(
newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","exception"),
"exception",
newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","exception"),
true
));
call.setoperation(oper);
call.setoperationname(newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","opname"));
//调用webservice,传入参数
stringres=(string)call.invoke(newobject[]("arg0","arg1"));
system.out.println("===============");
returnres;
}
/**
*@paramargs
*/
publicstaticvoidmain(string[]args){
try{
system.out.println(getresult());
}catch(malformedurlexceptione){
e.printstacktrace();
}catch(remoteexceptione){
e.printstacktrace();
}catch(serviceexceptione){
e.printstacktrace();
}catch(soapexceptione){
e.printstacktrace();
}
}
}
2、利用eclipse自动生成webserviceclient代码就容易多了:(由于还不会发图片,就用语言描述了,大家酬和看吧。。。)
首先,newproject,选择other,在输入框中输入webserviceclient,选中搜索后的结果,点击next,在servicedefinition中输入webservice的发布地址,点击finish
这样,webserviceclient代码已经生成好了。
接下来写一个test类,在main函数中输入如下代码:
stringendpoint="服务器的webservice的地址";
yourwebservicenameproxyumsp=newyourwebservicenameproxy(endpoint);
try{
stringresultstr=umsp.opmethod("arg0","arg1");
system.out.println(resultstr);
}catch(exceptione){
system.out.println("异常");
e.printstacktrace();
}catch(remoteexceptione){
system.out.println("remoteexception异常");
e.printstacktrace();
}
如果还有疑问的话还有视频,如果对你有帮助请采纳!

2.java如何调用webservice的某个方法


  java调用webservice可以直接使用apache提供的axis.jar自己编写代码,或者利用eclipse自动生成webserviceclient代码,利用其中的proxy类进行调用。理论上是一样的,只不过用eclipse自动生成代码省事些。
1、编写代码方式:
packagecom.yudun.test;
importjava.rmi.remoteexception;
importorg.apache.axis.client.call;
importorg.apache.axis.client.service;
importorg.apache.axis.message.prefixedqname;
importorg.apache.axis.message.soapheaderelement;
importcom.cezanne.golden.user.exception;
importcom.cezanne.golden.user.usermanagerserviceproxy;
importjavax.xml.namespace.qname;
importjava.net.malformedurlexception;
importjavax.xml.rpc.serviceexception;
importjavax.xml.soap.name;
importjavax.xml.soap.soapexception;
publicclasstestwebservice{
publicstaticstringgetresult()throwsserviceexception,malformedurlexception,remoteexception,soapexception
{
//标识webservice的具体路径
stringendpoint="webservice服务地址";
//创建service实例
serviceservice=newservice();
//通过service实例创建call的实例
callcall=(call)service.createcall();
//将webservice的服务路径加入到call实例之中.
call.settargetendpointaddress(newjava.net.url(endpoint));//为call设置服务的位置
//由于需要认证,故需要设置调用的soap头信息。
nameheadername=newprefixedqname(newqname("发布的wsdl里的targetnamespace里的url","string_itemname"));
org.apache.axis.message.soapheaderelementheader=newsoapheaderelement(headername);
header.addtextnode("blablabla");
call.addheader(header);
//soapheaderelementsoapheaderelement=newsoapheaderelement("发布的wsdl里的targetnamespace里的url","soapheader");
//soapheaderelement.setnamespaceuri("发布的wsdl里的targetnamespace里的url");
//try
//{
//soapheaderelement.addchildelement("string_itemname").setvalue("blablabla");
//}
//catch(soapexceptione)
//{
//e.printstacktrace();
//}
//call.addheader(soapheaderelement);
//调用webservice的方法
org.apache.axis.description.operationdescoper;
org.apache.axis.description.parameterdescparam;
oper=neworg.apache.axis.description.operationdesc();
oper.setname("opname");
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg0"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg1"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
param=neworg.apache.axis.description.parameterdesc(newjavax.xml.namespace.qname("","arg2"),org.apache.axis.description.parameterdesc.in,newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"),java.lang.string.class,false,false);
param.setomittable(true);
oper.addparameter(param);
oper.setreturntype(newjavax.xml.namespace.qname("http://www.w3.org/2001/xmlschema","string"));
oper.setreturnclass(java.lang.string.class);
oper.setreturnqname(newjavax.xml.namespace.qname("","return"));
oper.setstyle(org.apache.axis.constants.style.wrapped);
oper.setuse(org.apache.axis.constants.use.literal);
oper.addfault(neworg.apache.axis.description.faultdesc(
newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","exception"),
"exception",
newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","exception"),
true
));
call.setoperation(oper);
call.setoperationname(newjavax.xml.namespace.qname("发布的wsdl里的targetnamespace里的url","opname"));
//调用webservice,传入参数
stringres=(string)call.invoke(newobject[]("arg0","arg1"));
system.out.println("===============");
returnres;
}
/**
*@paramargs
*/
publicstaticvoidmain(string[]args){
try{
system.out.println(getresult());
}catch(malformedurlexceptione){
e.printstacktrace();
}catch(remoteexceptione){
e.printstacktrace();
}catch(serviceexceptione){
e.printstacktrace();
}catch(soapexceptione){
e.printstacktrace();
}
}
}
2、利用eclipse自动生成webserviceclient代码就容易多了:(由于还不会发图片,就用语言描述了,大家酬和看吧。。。)
首先,newproject,选择other,在输入框中输入webserviceclient,选中搜索后的结果,点击next,在servicedefinition中输入webservice的发布地址,点击finish
这样,webserviceclient代码已经生成好了。
接下来写一个test类,在main函数中输入如下代码:
stringendpoint="服务器的webservice的地址";
yourwebservicenameproxyumsp=newyourwebservicenameproxy(endpoint);
try{
stringresultstr=umsp.opmethod("arg0","arg1");
system.out.println(resultstr);
}catch(exceptione){
system.out.println("异常");
e.printstacktrace();
}catch(remoteexceptione){
system.out.println("remoteexception异常");
e.printstacktrace();
}
如果还有疑问的话还有视频,如果对你有帮助请采纳!

3.java怎么调用xml的webservice服务


  Java通过WSDL文件来调用webservice:
注意,以下的代码并没有经过真正的测试,只是说明这些情况,不同版本的Axis相差很大,大家最好以apache网站上的例子为准,这里仅仅用于说明其基本用法。 
1,直接AXIS调用远程的web service
这种方法比较适合那些高手,他们能直接看懂XML格式的WSDL文件,我自己是看不懂的,尤其我不是专门搞这行的,即使一段时间看懂,后来也就忘记了。直接调用模式如下:
import java.util.Date;
import java.text.DateFormat;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.lang.Integer;
import javax.xml.rpc.ParameterMode;
 
public class caClient {
 
 public static void main(String[] args) {
 
 try {
 String endpoint = "";
 //直接引用远程的wsdl文件
 //以下都是套路 
 Service service = new Service();
 Call call = (Call) service.createCall();
 call.setTargetEndpointAddress(endpoint);
 call.setOperationName("addUser");//WSDL里面描述的接口名称
 call.addParameter("userName", org.apache.axis.encoding.XMLType.XSD_DATE,
 javax.xml.rpc.ParameterMode.IN);//接口的参数
 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型 
 String temp = "测试人员";
 String result = (String)call.invoke(new Object[]{temp});
 //给方法传递参数,并且调用方法
 System.out.println("result is "+result);
 }
 catch (Exception e) {
 System.err.println(e.toString());
 }
 }
}
2,直接SOAP调用远程的webservice
这种模式我从来没有见过,也没有试过,但是网络上有人贴出来,我也转过来 
import org.apache.soap.util.xml.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;
 
import java.io.*;
import java.net.*;
import java.util.Vector;
 
public class caService{
 public static String getService(String user) {
 URL url = null;
 try {
 url=new URL("");
 } catch (MalformedURLException mue) {
 return mue.getMessage();
 }
 // This is the main SOAP object
 Call soapCall = new Call();
 // Use SOAP encoding
 soapCall.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
 // This is the remote object were asking for the price
 soapCall.setTargetObjectURI("urn:xmethods-caSynrochnized");
 // This is the name of the method on the above object
 soapCall.setMethodName("getUser");
 // We need to send the ISBN number as an input parameter to the method
 Vector soapParams = new Vector();
 
 // name, type, value, encoding style
 Parameter isbnParam = new Parameter("userName", String.class, user, null);
 soapParams.addElement(isbnParam);
 soapCall.setParams(soapParams);
 try {
 // Invoke the remote method on the object
 Response soapResponse = soapCall.invoke(url,"");
 // Check to see if there is an error, return "N/A"
 if (soapResponse.generatedFault()) {
 Fault fault = soapResponse.getFault();
 String f = fault.getFaultString();
 return f;
 } else {
 // read result
 Parameter soapResult = soapResponse.getReturnValue ();
 // get a string from the result
 return soapResult.getValue().toString();
 }
 } catch (SOAPException se) {
 return se.getMessage();
 }
 }
}
3,使用wsdl2java把WSDL文件转成本地类,然后像本地类一样使用,即可。
这是像我这种懒人最喜欢的方式,仍然以前面的global weather report为例。
首先 java org.apache.axis.wsdl.WSDL2Java 
原本的网址是,中间个各问号,但是Linux下面它不能解析,所以去掉问号,改为点号。
那么就会出现4个文件:
GlobalWeather.java GlobalWeatherLocator.java GlobalWeatherSoap.java GlobalWeatherSoapStub.java
其中GlobalWeatherSoap.java是我们最为关心的接口文件,如果你对RMI等SOAP实现的具体细节不感兴趣,那么你只需要看接口文件即可,在使用的时候,引入这个接口即可,就好像使用本地类一样。

4.java分布式服务器之间怎么调用


  基本原理 要实现网络机器间的通讯,首先得来看看计算机系统网络通信的基本原理,在底层层面去看,网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http、tcp、 udp 等等,http、tcp、udp 都是在基于Socket 概念上为某类应用场景而扩展出的传输协议,网络IO,主要有bio、nio、aio 三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。 应用级协议 远程服务通讯,需要达到的目标是在一台计算机发起请求,另外一台机器在接收到请求后进行相应的处理并将结果返回给请求端,这其中又会有诸如 onewayrequest、同步请求、异步请求等等请求方式,按照网络通信原理,需要实现这个需要做的就是将请求转换成流,通过传输协议传输至远端,远端计算机在接收到请求的流后进行处理,处理完毕后将结果转化为流,并通过传输协议返回给调用端。原理是这样的,但为了应用的方便,业界推出了很多基于此原理之上的应用级的协议,使得大家可以不用去直接操作这么底层的东西,通常应用级的远程通信协议会提供: 1.为了避免直接做流操作这么麻烦,提供一种更加易用或贴合语言的标准传输格式;2.网络通信机制的实现,就是替你完成了将传输格式转化为流,通过某种传输协议传输至远端计算机,远端计算机在接收到流后转化为传输格式,并进行存储或以某种方式通知远端计算机。 所以在学习应用级的远程通信协议时,我们可以带着这几个问题进行学习: 1.传输的标准格式是什么?2.怎么样将请求转化为传输的流?3.怎么接收和处理流?4.传输协议是? 不过应用级的远程通信协议并不会在传输协议上做什么多大的改进,主要是在流操作方面,让应用层生成流和处理流的这个过程更加的贴合所使用的语言或标准,至于传输协议则通常都是可选的,在java 领域中知名的有:RMI、 XML-RPC、Binary-RPC、SOAP、CORBA、JMS,来具体的看看这些远程通信的应用级协议: RMIRMI 是个典型的为java 定制的远程通信协议,我们都知道,在 singlevm 中,我们可以通过直接调用javaobjectinstance 来实现通信,那么在远程通信时,如果也能按照这种方式当然是最好了,这种远程通信的机制成为RPC(RemoteProcedureCall),RMI 正是朝着这个目标而诞生的。 来看下基于RMI 的一次完整的远程通信过程的原理: 1.客户端发起请求,请求转交至RMI 客户端的stub 类;2.stub 类将请求的接口、方法、参数等信息进行序列化;3.基于socket 将序列化后的流传输至服务器端;4.服务器端接收到流后转发至相应的skelton 类;5.skelton 类将请求的信息反序列化后调用实际的处理类;6.处理类处理完毕后将结果返回给 skelton 类;7.Skelton 类将结果序列化,通过socket 将流传送给客户端的 stub;8.stub 在接收到流后反序列化,将反序列化后的JavaObject 返回给调用者。 根据原理来回答下之前学习应用级协议带着的几个问题: 1.传输的标准格式是什么?是JavaObjectStream。2.怎么样将请求转化为传输的流?基于Java 串行化机制将请求的javaobject 信息转化为流。3.怎么接收和处理流?根据采用的协议启动相应的监听端口,当有流进入后基于Java 串行化机制将流进行反序列化,并根据RMI 协议获取到相应的处理对象信息,进行调用并处理,处理完毕后的结果同样基于java 串行化机制进行返回。4.传输协议是?Socket。 XML-RPCXML-RPC 也是一种和RMI 类似的远程调用的协议,它和RMI 的不同之处在于它以标准的 xml 格式来定义请求的信息(请求的对象、方法、参数等),这样的好处是什么呢,就是在跨语言通讯的时候也可以使用。 来看下XML-RPC 协议的一次远程通信过程: 1.客户端发起请求,按照XML-RPC 协议将请求信息进行填充;2.填充完毕后将xml 转化为流,通过传输协议进行传输;3.接收到在接收到流后转换为xml,按照XML-RPC 协议获取请求的信息并进行处理;4.处理完毕后将结果按照XML- RPC 协议写入xml 中并返回。 同样来回答问题: 1.传输的标准格式是?标准格式的XML。2.怎么样将请求转化为传输的流? 将XML 转化为流。3.怎么接收和处理流?通过监听的端口获取到请求的流,转化为XML,并根据协议获取请求的信息,进行处理并将结果写入XML 中返回。4. 传输协议是?Http。 Binary-RPCBinary-RPC 看名字就知道和XML-RPC 是差不多的了,不同之处仅在于传输的标准格式由XML 转为了二进制的格式。 同样来回答问题: 1.传输的标准格式是?标准格式的二进制文件。2.怎么样将请求转化为传输的流?将二进制格式文件转化为流。3.怎么接收和处理流?通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入XML 中返回。4.传输协议是?Http。 SOAPSOAP 原意为SimpleObjectAccessProtocol,是一个用于分布式环境的、轻量级的、基于XML 进行信息交换的通信协议,可以认为SOAP 是XMLRPC 的高级版,两者的原理完全相同,都是http+XML,不同的仅在于两者定义的XML 规范不同,SOAP 也是Webservice 采用的服务调用协议标准,因此在此就不多加阐述了。 CORBACommonObjectRequestBrokerArchitecture(公用对象请求代理[调度]程序体系结构),是一组用来定义"分布式对象系统"的标准,由 OMG(ObjectMenagementGroup)作为发起和标准制定单位。CORBA 的目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系统。CORBA 在我看来是个类似于SOA 的体系架构,涵盖可选的远程通信协议,但其本身不能列入通信协议这里来讲,而且CORBA 基本淘汰,再加上对CORBA 也不怎么懂,在此就不进行阐述了。 JMSJMS 呢,是实现java 领域远程通信的一种手段和方法,基于JMS 实现远程通信时和RPC 是不同的,虽然可以做到RPC 的效果,但因为不是从协议级别定义的,因此我们不认为JMS 是个RPC 协议,但它确实是个远程通信协议,在其他的语言体系中也存在着类似JMS 的东西,可以统一的将这类机制称为消息机制,而消息机制呢,通常是高并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错(详细见ErLang 论文)。 来看JMS 中的一次远程通信的过程: 1.客户端将请求转化为符合JMS 规定的Message;2.通过JMSAPI 将Message 放入JMSQueue 或Topic 中;3.如为JMSQueue,则发送中相应的目标Queue 中,如为Topic,则发送给订阅了此Topic 的JMSQueue。4.处理端则通过轮训 JMSQueue,来获取消息,接收到消息后根据JMS 协议来解析Message 并处理。 回答问题: 1.传输的标准格式是?JMS 规定的Message。2.怎么样将请求转化为传输的流?将参数信息放入Message 中即可。3.怎么接收和处理流?轮训JMSQueue 来接收Message,接收到后进行处理,处理完毕后仍然是以Message 的方式放入 Queue 中发送或Multicast。4.传输协议是?不限。 基于JMS 也是常用的实现远程异步调用的方法之一。

5.java怎么调用webservice


  1.使用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
方法:
预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成。
String soapRequestData = "<?xml version="1.0" encoding="utf-8"?>" +
 "<soap12:Envelope xmlns:xsi="" xmlns:xsd="" xmlns:soap12="">" +
 "<soap12:Body>" +
 " <getCountryCityByIp xmlns="">" +
 " <theIpAddress>219.137.167.157</theIpAddress>" +
 " </getCountryCityByIp>" +
 " </soap12:Body>" +
 "</soap12:Envelope>";
然后定义一个PostMethod,这时需要指定web服务的Url;
PostMethod postMethod = new PostMethod(“”);
然后把Soap请求数据添加到PostMethod中
byte[] b = soapRequestData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length);
RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8");
postMethod.setRequestEntity(re);
 
最后生成一个HttpClient对象,并发出postMethod请求
HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod);
String soapRequestData = postMethod.getResponseBodyAsString();
 
soapRequestData就是调用web服务的Soap响应数据,是xml格式的,可以通过解析soapRequestData来获得调用web服务的返回值。
2.使用Xfire
用到的jar文件xfire-all-1.2.4.jar, jdom-1.0.jar
方法:
定义一个Client对象,指定web服务的wsdl的地址
Client c = new Client(new URL(“?wsdl”));
 
调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。
下面代码调用getVersionTime方法,这个方法没有参数用所以后一个参数使用new Object[0]。
Object[] results = c.invoke(“getVersionTime”, new Object[0]);
 
3.使用axis2
下载axis2-1.4
方法:
打开控制台,进入axis2-1.4/bin目录
wsdl2java.bat -uri ?wsdl -p ws.clinet.axis2
上述命令执行完后,会在当前目录下生成一个src目录,在src ws clinet axis2目录里生成XXXXCallbackHandler.java和XXXXStub.java两个文件。
wsdl2java 会根据wsdl文件生成web服务的调用接口,参数类,返回值的类。
在调用webservice的时候直接实例化一个XXXXStub的对象,然后调用web服务的方法就可以了。
4. 总结
针对某种工具搭建的Web Service服务可能有与其对应的更简单的调用方法,在这里没有做描述,上述的调用web服务的方法是通用的。
上述三种方法中使用httpclient应该是比较灵活,但是开发效率低,难度大,使用Xfire和axis2比较容易,开发速度快,但是axis2通用性不好,有的web服务用axis2不好用。httpclient和Xfire通用性比较好,鉴于以上特点推荐使用Xfire。

以上就是关于「java如何调用服务」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家wWw.gHoSt580.net*文章,不得自行转载,违者必追究!

相关文章

  • java如何调用服务

    java如何调用服务

    1.java调用webservice接口具体怎么调用java调用webservice可以直接使用apache提供的axis.jar自己编写代码,或者利用eclipse自动生成webserviceclient代码,利用其中的proxy类进行调用。理论上是一样的,只不过用eclipse...
  • 电脑总是弹出交互式服务检测窗口如何解决

    电脑总是弹出交互式服务检测窗口如何解决

    1.如何解决电脑总是弹出交互式服务检测的问题生活中很多人使用电脑,可有些人不知道如何解决电脑总是弹出交互式服务检测的问题,下面快来一起看一看吧。工具/原料演示系统:Windows7系统版本号:build7601方法/步骤1、Win...
  • 养老服务如何盈利

    养老服务如何盈利

    1.社区养老如何盈利?养老服务在政策上是受到支持的,民政府曾发布过一个意见:“将采取政府补助、购买服务、协调指导、评估认证等方式,鼓励民间资本进入居家养老服务领域。”根据《2010年中国城乡老年人口状况追踪调查》显示,...
  • 如何调用com组件

    如何调用com组件

    1..NET中怎么调用COM组件.NET在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯作风,.NET的强大之处也可见一斑。.NET提供了大量的类库来方便的实现同COM的相互操作,其中很重要的一个名称空间...