关于JAVA开发axis2的信息
本篇文章给大家谈谈JAVA开发axis2,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java如何通过eclipse安装axis2来调用webservice
- 2、java axis2 调用webservice 怎么捕获超时异常(即超时了让它停下来,不要报错)
- 3、java axis2 webservice 服务端区怎么写
java如何通过eclipse安装axis2来调用webservice
通过eclipse安装axis2来调用webservice的方法:
1、 在eclipse的菜单栏中选择 window--preferences--web service --axis2 preferences 在axis2 runtime 下的 axis2 runtime location中指定解压目录
2、右击oprationServiceImpl---webservice ---create webservice 如下:
3、在service implemention中出现需要部署的服务类 将服务器的运行状态设置为start service 并且设置 service runtime (web服务器) web service runtime (axis的版本)
对应的web项目。勾选publish the web service 和monitor the service --- next ---next直到:
点击 start server 启动刚刚部署的web项目 ---next 直到 finish 此时部署就已经完成了。
4、在axis-test中编写客户端代码并调用服务器程序
package com.hualom.axis.client;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class OprationClient {
/**
* @param args
* @throws AxisFault
*/
public static void main(String[] args) throws AxisFault {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference("");
options.setTo(targetEPR);
// 指定要调用的计算机器中的方法及WSDL文件的命名空间:impl.service.axis.hualom.com 服务类的包名称。
QName searchResult = new QName("","search");
QName noSearchResult = new QName("","noSearch");
// 设置发送到服务器的内容
Object[] opAddEntryArgs = new Object[] { "你好 server"};
// 指定返回值的类型
Class[] classes = new Class[] { String.class };
// 调用服务器开放的接口并且返回结果 如果没有返回值可以直接调用 serviceClient.invokeRobust(opName, opAddEntryArgs)
System.out.println(serviceClient.invokeBlocking(searchResult,opAddEntryArgs, classes)[0]);
}
}
java axis2 调用webservice 怎么捕获超时异常(即超时了让它停下来,不要报错)
有个思路:
可以在执行 Thread.currentThread().sleep(20000)代码前 获取系统当前时间或者获取当前网络时间date1,在执行Thread.currentThread().sleep(20000)代码后在获取一下时间 date2 将时间转为long类型即毫秒 进行判断 ,如果后一个时间 if(date2 - date1 = 20秒){执行逻辑操作 } else{ //可停止等待}
仅供参考,未测试。没用到 捕获异常
java axis2 webservice 服务端区怎么写
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。
1.Axis2
Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axis+eclipse开发webservice,当然不用eclipse也可以开发和发布webservice,只是用eclipse会比较方便。
(1)下载eclipse的Java EE版本
(2)下载axis2
(3)下载eclipse的axis2插件
Axis2_Codegen_Wizard
Axis2_Service_Archiver
推荐使用1.3的版本
(4)eclipse安装axis2插件
1)在任意目录下新建一个Axis2文件夹,在该文件夹下新建eclipse目录,在eclipse目录中新建plugins目录和 features目录,例如:D:\programSoftware\eclipse-SVN\Axis2\eclipse;
2)把下载的axis2插件解压,并把解压的文件放到新建的eclipse的plugins目录下;
3)在�lipse_home%的目录下新建links目录,并在links目录下新建axis2.link文件,内容为: path=D:\programSoftware\eclipse-SVN\Axis2;
4)重启eclipse,点击·file-new-other,如果看到Axis2 Wizards,则表明插件安装成功。
(5)安装axis2
下载Axis2的WAR Distribution并解压,把axis2.war包放置到%TOMCAT_HOME%/webapps下,启动tomcat,访问,Axis2安装成功。
(6)使用eclipse新建web工程,创建一个普通java类,至少包含一个方法。
(7)发布webservice
1)点击eclipse的File-New-other,打开Axis2 Wizards,选择Axis2 Service Archiver,然后Next;
2)选择Class File Location,也就是类文件存放路径,注意:只选到classes目录,不要包括包文件夹,然后 Next;
3)选择Skip WSDL,然后Next
4)一路Next到Select the Service XML file to be included in the Service archive,勾选Generate the service xml automatically;
5)Service Name-填写你的service名称,Class Name-填写类名称,要包括包名,然后点击load,然后点击 Finish,这时webservice就发布成功了;
6)然后到%TOMCAT_HOME%/webapps/axis2/WEB-INF/services 看看是否多了一个.aar的文件;
7)访问类名?wsdl 就可看到生成的wsdl文件了。
注意:以上的方式是发布到axis2.war包中,你也可以把生成.aar文件copy到你的实际应用中,同时,你也可以使用eclipse的create webservice功能发布你的webservice,选择axis2生成你的webservice,这样webservice就会部署到你的应用中了。
2.Apche CXF
CXF开发webservice也是比较方便和简单的,它和spring的集成可以说是非常地好。举一个CXF开发webservice的例子吧。
1)在eclipse中新建一个web工程,导入依赖包,如图:
2)编写一个接口,如:
public String test(@WebParam(name="value", targetNamespace = "", mode = WebParam.Mode.IN)String value);
注意:CXF开发的webservice,接口中的方法的参数一定要以这种方式,否则客户端调用的时候CXF服务端会接收不到参数的值,name:参数名称,可不写(建议写上),targetNamespace:命名空间,一定要填写上,默认是包名反过来的顺序,mode:参数类型,IN表示输入。
3)编写一个实现类,实现接口的方法;
4)和spring的集成,编写一个bean文件,如:cxf-beans.xml,内容如下:
Cxf-beans.xml代码
这个文件比较容易理解,就不解释了。
5)配置CXFServlet
在web.xml文件中配置CXFServlet,加载cxf-beans.xml文件,内容如下:
Web.xml代码
把工程部署到中间件,如tomcat,就可以访问该webservice了。
3.JDK开发webservice
1)编写一个Java类,如下:
Jdkwebservice.java代码
package demo;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class JdkWebService {
public String doSomething(@WebParam(name="value", targetNamespace = "", mode = WebParam.Mode.IN)String value) {
return "Just do it," + value + "!";
}
public static void main(String[] args) {
Endpoint.publish("", new JdkWebService());
}
}
2)运行该java类,在浏览器上就可以访问该webservice了。
注意:开发web工程的时候,这种方法不太友好。我们可以编写一个servlet类,在servlet类的初始化方法中发布webservice,这样我们的中间件服务器启动的时候就会帮我们自动webservice了。
JAVA开发axis2的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、JAVA开发axis2的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。