axis2使用开发Webserver

、使用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;

  }

  }

你可能感兴趣的:(axis2使用开发Webserver)