Axis2 -POJO 通告Webservice 使用Webservice

POJO,Plain Old Java Object,简单Java物。


1.书写Hello.java

public class Hello {	
	public String sayHello(){
		return "hello";
	}	
	public String sayHelloToPerson(String name){		
		if(name==null){
			name = "nobody";
		}
		return "hello,"+name;
	}
}

2.编译并放到工作文件夹

编译Hello.java得到Hello.class,并放到<Tomcat安装文件夹>webappsaxis2WEB-INFpojo文件夹中(假设没有pojo文件夹,则建立该文件夹)。

如今我们已经成功将Hello类公布成了WebService。

在浏览器地址栏中输入例如以下的URL:http://localhost:8080/axis2/services/listServices ,得到下图结果。

Axis2 -POJO
通告Webservice
使用Webservice

链接 http://localhost:8080/axis2/services/Hello?

wsdl  得到wsdl。Web Services Description Language,Web 服务描写叙述语言。

本质是xml。

链接 http://localhost:8080/axis2/services/Hello?xsd     得到xsd。Xml Schema Definition。xml 模式定义,本质是xml。


使用Webservice

a ) http请求得到xml

Axis2 -POJO
通告Webservice
使用Webservice

b) javaclient使用

1.  wsdl2java得到stub.java

wsdl2java命令能够在<Axis2安装文件夹>"bin文件夹中找到,有.sh 与 .bat 两个版本号。用于从wsdl得到client所须要的java文件。
仅仅输入wsdl2java会看到帮助提示。以以下命令进行说明。
 d:Program Filesaxis2-1.6.2-binaxis2-1.6.2in>wsdl2java -uri http://localhost:8080/axis2/services/Hello?wsdl  -o d:
-uri 制定了wsdl的来源。  
-o 指定了 生成src存放位置。

运行后生成了HelloStub.java与 HelloCallbackHandler.java。我们把它俩拉倒项目的src文件夹中。得到下图。


Axis2 -POJO
通告Webservice
使用Webservice
手写client.java,此处起名StubClient.java。

内容见下:

import org.apache.ws.axis2.HelloStub;
import org.apache.ws.axis2.HelloStub.SayHello;
import org.apache.ws.axis2.HelloStub.SayHelloResponse;
import org.apache.ws.axis2.HelloStub.SayHelloToPerson;

public class StubClient
{
    public static void main(String[] args) throws Exception  
    {
        HelloStub stub = new HelloStub();
        SayHello obj=new SayHello();
        SayHelloToPerson obj2=new SayHelloToPerson();
        obj2.setName("XiaoMing");
        SayHelloResponse response=stub.sayHello(obj);
        String str=response.get_return();
        System.out.println(str);
        System.out.println(stub.sayHelloToPerson(obj2).get_return());
    } 
}
/*
hello
hello,XiaoMing
 */

它解释说,它已成功地朋友!