一个简单的webservice项目

根据上一篇博文安装好了service和codegen以后,新建一个项目,随便写一个方法,
一个简单的webservice项目_第1张图片
我写的代码非常简单:

package webservicetest1;

public class HelloWorld {
	public String sayHello() {
		return("hello");
	}
}

然后使用Axis service Archiver把它变成webservice.首先class file location这里填tomcat里该项目的位置,到classes为止,例如我的是D:\apache-tomcat-7.0.90\webapps\webservicetest1\WEB-INF\classes
一个简单的webservice项目_第2张图片
第二步,skip wsdl
一个简单的webservice项目_第3张图片
->next->next->next,直到这里
一个简单的webservice项目_第4张图片
service name随便写,我的是HelloWorld,class name是包名和类名(记住中间用.隔开,而不是/),然后点击load,next。
这时候在浏览器输入http://localhost:8080/axis2/services/HelloWorld?wsdl已经可以看到wsdl文件如图:
一个简单的webservice项目_第5张图片
也可以输入http://localhost:8080/axis2/,点击services,看到我们的服务HelloWorld,其中有个可用的方法sayHello,
一个简单的webservice项目_第6张图片
还可以输入http://localhost:8080/axis2/services/HelloWorld,这时显示的就是我们服务的返回值了。
一个简单的webservice项目_第7张图片
然后建立一个webservice的client,我试过cmd用代码生成client代码,但结果是少了porttype类,也试过new->other->webservice client,结果也是生成了几个类全部报错。好像是少生成了类吧,具体原因我没去细究了
一个简单的webservice项目_第8张图片
直接换了一种方法,用这个一个简单的webservice项目_第9张图片
生成代码如图:
一个简单的webservice项目_第10张图片
刚开始还是全部报错的,后来把Axis的jar包导进去就基本没错了(除了两个地方少了参数,用eclipse提示的方法把参数加上就完事了),需要导的jar包如下(网上说是wenservice所需要的最小jar包)


            org.apache.axis2
            axis2
            1.6.2
        
        
            org.apache.axis2
            axis2-adb
            1.6.2
        
        
            org.apache.axis2
            axis2-transport-http
            1.6.2
        
        
            org.apache.axis2
            axis2-transport-local
            1.6.2
        
        
            org.apache.axis2
            axis2-kernel
            1.6.2
        

结束以后在client项目的src/main/test里写一个测试类,

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import webservicetest1.HelloWorldStub;
import webservicetest1.SayHello;

public class Test {
	public static void main(String[] args) throws RemoteException {
		HelloWorldStub helloWorldStub = new HelloWorldStub();
		SayHello sayHello = new SayHello();
		String aa = helloWorldStub.sayHello(sayHello).get_return();
		System.out.println(aa);
	}	
}

运行测试类就得到了服务所返回的结果:
在这里插入图片描述

你可能感兴趣的:(Axis2,webservice)