文档章节

axis2使用开发Webserver

遇见T就不错过
 遇见T就不错过
发布于 2014/04/15 16:28
字数 502
阅读 123
收藏 8

、使用axis1.4调用webservice方法

  前提条件:下载axis1.4包和tomcat服务器   ,并将axis文件夹复制到tomcat服务器的webapp文件夹中

  这里我就说一下最简单的方法:

  首先建立一个任意的java类(例如:HelloWorld.java),复制到axis文件夹下,将其扩展名改为jws,然后重新启动tomcat,在浏览器中输入http://localhost:8989/axis/HelloWorld.jws?wsdl,就会得到一个wsdl文件,其客户端调用方法如下:

  Java代码

  import javax.xml.rpc.Service;

  import javax.xml.rpc.ServiceException;

  import javax.xml.rpc.ServiceFactory;

  import java.net.MalformedURLException;

  import java.net.URL;

  import java.rmi.RemoteException;

  import javax.xml.namespace.QName;

  public class TestHelloWorld {

  public static void main(String[] args) throws MalformedURLException, ServiceException, RemoteException {

  // TODO Auto-generated method stub

  String wsdlUrl ="http://localhost:8989/axis/HelloWorld.jws?wsdl";

  String nameSpaceUri ="http://localhost:8989/axis/HelloWorld.jws";

  String serviceName = "HelloWorldService";

  String portName = "HelloWorld";

  ServiceFactory serviceFactory = ServiceFactory.newInstance();

  Service afService =serviceFactory.createService(new URL(wsdlUrl),new QName(nameSpaceUri, serviceName));

  HelloWorldInterface proxy = (HelloWorldInterface)afService.getPort(new QName(nameSpaceUri, portName),HelloWorldInterface.class);

  System.out.println("return value is "+proxy.getName("john") ) ;

  }

  }

  import javax.xml.rpc.Service;

  import javax.xml.rpc.ServiceException;

  import javax.xml.rpc.ServiceFactory;

  import java.net.MalformedURLException;

  import java.net.URL;

  import java.rmi.RemoteException;

  import javax.xml.namespace.QName;

  public class TestHelloWorld {

  public static void main(String[] args) throws MalformedURLException, ServiceException, RemoteException {

  // TODO Auto-generated method stub

  String wsdlUrl ="http://localhost:8989/axis/HelloWorld.jws?wsdl";

  String nameSpaceUri ="http://localhost:8989/axis/HelloWorld.jws";

  String serviceName = "HelloWorldService";

  String portName = "HelloWorld";

  ServiceFactory serviceFactory = ServiceFactory.newInstance();

  Service afService =serviceFactory.createService(new URL(wsdlUrl),new QName(nameSpaceUri, serviceName));

  HelloWorldInterface proxy = (HelloWorldInterface)afService.getPort(new QName(nameSpaceUri, portName),HelloWorldInterface.class);

  System.out.println("return value is "+proxy.getName("john") ) ;

  }

  }

  四、使用axis2开发webservice

  使用axis2 需要先下载

  axis2-1.4.1-bin.zip

  axis2-1.4.1-war.zip

  http://ws.apache.org/axis2/

  同理,也需要将axis2复制到webapp目录中

  在axis2中部署webservice有两种方法,

  第一种是pojo方式,这种方式比较简单,但是有一些限制,例如部署的类不能加上包名

  第二种方式是利用xml发布webservice,这种方法比较灵活,不需要限制类的声明

  下面分别说明使用方法:

  1.pojo方式:在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。其中POJO中所有的public方法将被发布成WebService方法。先实现一个pojo类:

  Java代码

  public class HelloWorld{

  public String getName(String name)

  {

  return "你好 " + name;

  }

  public int add(int a,int b)

  {

  return a+b;

  }

  }

© 著作权归作者所有

遇见T就不错过
粉丝 0
博文 1
码字总数 502
作品 0
徐汇
高级程序员
私信 提问
MyEclipse6.0 安装axis2插件, 调用加密的SAP webservice

首先鄙视一下自己,还在用myeclipse,竟然还是6.0版本,没办法,用习惯了,而且自己的开发机配置不高,装过一些别的IDE,发现用的都不是很流畅。 项目要用java调用sap的webservice接口,自己决...

苏文
2013/06/06
1K
0
使用axis2发布web service

Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的...

NotFoundException
2013/03/13
647
0
Apache Axis2 1.5.2 发布

Apache Axis2 对Axis1进行了重新设计,支持SOAP1.2/REST以及更多。 改进内容: [AXIS2-3290] surefire is still run even if maven.test.skip is true [AXIS2-4113] Unable to sign axis2 j......

红薯
2010/09/27
718
0
教程:如何用Axis2开发和部署Web服务

引言 Axis2 是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis...

小磨磨牙
2010/10/24
3.1K
0
axis2+MyEclipse8.5+tomcat6环境下axis2 1.6.2的插件安装不成功

最近用到webservice接口的开发,开始了解axis2,刚入门,想简单的联系一下,结果 Axis2 plugins安装不成功,网上看了各种方法还有没有解决。http://localhost:8080/axis2/页面时可以出来的,...

chen1218chen
2014/04/09
434
0

没有更多内容

加载失败,请刷新页面

加载更多

R语言基本命令,dataframe增删改查

基本操作: 查询变量类型(假设变量名是a) class(a) 在R语言中: T 代表--> True F 代表--> False 与、或运算符 读取: 读取csv文件到dataframe(字符串不当作factor类型来处理,csv的na不作...

flash胜龙
32分钟前
4
0
重看《功夫熊猫1》却有了另一番感触

最近带着小孩,又看了一遍电影《功夫熊猫1》。但这次中间的很多情节,让我有了另一番新的感触。 电影的开头是熊猫阿宝,在梦里成为了一个武功盖世的大侠。这是他最大的梦想。 当阿宝热情洋溢...

我是菜鸟我骄傲
35分钟前
10
1
3.设计模式之二:原型模式【创建型模式】

在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样...

Eappo_Geng
45分钟前
7
0
Springboot+Junit测试出现No tests found matching

话不多说,出现以下错误,如果各注解都没问题,请检查包路径 测试用例包路径必须跟项目启动类包路径一致,不然也会报下面错误 java.lang.Exception: No tests found matching [{ExactMatche...

fangsw
51分钟前
5
0
封装,继承,多态?

1. 封装? 封装指的是利用抽象数据类型将数据和基于数据操作全部放在一个类里,使其构成一个不可分割的实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的实现细节,并对外只提供操作...

happywe
52分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部