关于JAVA开发axis2的信息

博主:adminadmin 2022-12-01 05:09:05 83

本篇文章给大家谈谈JAVA开发axis2,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。