axis2使用開發Webserver

、使用axis1.4調用webservice方法java

  前提條件:下載axis1.4包和tomcat服務器   ,並將axis文件夾複製到tomcat服務器的webapp文件夾中web

  這裏我就說一下最簡單的方法:apache

  首先創建一個任意的java類(例如:HelloWorld.java),複製到axis文件夾下,將其擴展名改成jws,而後從新啓動tomcat,在瀏覽器中輸入http://localhost:8989/axis/HelloWorld.jws?wsdl,就會獲得一個wsdl文件,其客戶端調用方法以下:瀏覽器

  Java代碼tomcat

  import javax.xml.rpc.Service;服務器

  import javax.xml.rpc.ServiceException;app

  import javax.xml.rpc.ServiceFactory;webapp

  import java.net.MalformedURLException;spa

  import java.net.URL;.net

  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") ) ;

  }

  }

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

  }

  }

相關文章
相關標籤/搜索