欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MyEclipase在原有web工程中进行axis2接口开发

程序员文章站 2022-05-21 18:58:13
...
由于axis2高版本存在种种未知问题,本文引用的是axis2.1.4的jar包。

开发服务端web service服务
1. 创建web工程,在com.*.webservice包下创建接口实现类
public class Calculate {
	public int sum(int num1, int num2) {
		return num1 + num2;
	}
}

2. 下载axis2-1.4.1-war.zip,链接:
http://ishare.iask.sina.com.cn/f/17037679.html?from=like
解压到文件夹axis2-1.4.1,将lib下的所有jar包拷贝到工程lib目录下,并导入工程

3. 将文件夹axis2-1.4.1下的axis2.war包再次解压,将解压目录下的conf、modules和services文件夹拷贝到web工程的WEB-INF目录下,清空services目录下的内容,创建/myservices(此名称随便)/META-INF/目录,并在此目录下创建services.xml文件,具体路径:WEB-INF/services/myservices/META-INF/services.xml
内容如下:
<service name="AxisService"><!-- web service名称-->
	<description>Axis Service Description</description><!-- 接口描述-->
	<parameter name="ServiceClass">com.sinosure.webservice.Calculate</parameter><!-- 接口实现类-->
	<operation name="sum"><!-- 接口名称-->
		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
	</operation>
</service>

4. 修改web.xml文件,内容如下:
……
……
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
		<servlet-name>AxisServlet</servlet-name>
		<servlet-class>
			org.apache.axis2.transport.http.AxisServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
</web-app>

5. 运行工程,查看接口描述文件wsdl:http://localhost:8080/###(工程名)/services/AxisService(接口名)?wsdl

在myeclipse中安装axis2客户端代码生成插件Codegen
6. 下载jar包,链接:
http://download.csdn.net/download/Awx/2826319

7. 下载的压缩包里包含Axis2_Codegen_Wizard_1.4.0和Axis2_Service_Archiver_1.3.0这两个文件夹,将其导入%MyEclipse%\Genuitec\MyEclipse 8.x Latest\dropins\目录下,重启MyEclipse,点击new,即可看到下图
[img]
MyEclipase在原有web工程中进行axis2接口开发
            
    
    博客分类: Java开发 web serviceaxis 
[/img]

8. 重新运行web工程,启动完成后,点击“new”,点击“Axis2 Code Generator”,选择通过wsdl文件产生客户端代码,可选择将axis2的jar一起打包进去,选择生成目录,finish,完成。

测试接口
9. 创建测试java工程,将axis2的jar包导入,将生成的客户端代码文件AxisServiceCallbackHandler.java和AxisServiceStub.java拷贝到java工程中,创建Test类,代码如下:
public static void main(String[] args) {
		try {
			AxisServiceStub stub = new AxisServiceStub("http://localhost:8080/(工程名)/services/AxisService?wsdl");
			AxisServiceStub.Sum sum = new AxisServiceStub.Sum();
			sum.setNum1(1);
			sum.setNum2(2);
			System.out.println(stub.sum(sum).get_return());
		} catch (AxisFault e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		}
	}


测试完成。

  • MyEclipase在原有web工程中进行axis2接口开发
            
    
    博客分类: Java开发 web serviceaxis 
  • 大小: 73 KB
相关标签: web service axis