、使用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
同理,也須要將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;
}
}