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

webservice之间通信

程序员文章站 2022-04-03 20:53:17
...

前言:由于对WebService的开发过程不甚了解,导致在开发过程花费过多的不必要的精力,下面对这个过程做一次总结,前面写了一篇使用jaxws-rt-2.0EA3.jar开发的webservice,没有客户端的调用过程,刚开始的时候自己在尝试用自己编写的client来调用,在网上翻阅了各种的实例,但是都不靠谱,后来花费了一天的时间也没有调用成功,后来咨询领导,说使用eclipse的webservice插件来开发,于是乎就解决了这个webservice之间通信的问题。

 

第一步:检查你的eclipse是否已经自带了webservice的开发插件,如下图
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 如果没有,则从网上进行插件的安装。

 

第二步:在你原有的web系统中编写service代码,我需要的是以下的内容

package com.ebiz.cms.member.api.service;

public class MemberWebService {
	/**
	 * 提供会员创建接口,提供现货使用
	 * 
	 * @param username
	 * @param password
	 * @param mobile
	 * @param email
	 * @param type
	 * @return
	 */
	public String createMemPxy(String username, String password, String mobile, String email, String type) {
		return "My name is ";
	}
}

 

第三步:选中web项目,右键新建webservice项目,如图
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 然后如下图
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 选择对应的service,按照提示完成webservice的生成,但是如果项目已经开发了很多板块,lib包中也有了类似axis.jar、commons-logging.jar等等的jar包,此时就会生成失败,并且web.xml也会出现错误,我没有弄清楚为什么,然后我采用了以下的解决办法。

 

第四步:新建一个空的web项目,将上面编写的MemberWebService放置到新建的项目中,保持包的路径一致,方法的具体内容不用关心,再按照上面第三步的方式进行生成service,此时就会成功,然后你可以看到项目的目录结构如下
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 把红色部分的文件复制到你需要的项目中,再把web.xml中的内容

写道

 

<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<display-name>Axis Admin Servlet</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>

 添加到你需要的项目的web.xml中,然后启动tomacat,然后在地址栏中输入下图中URL,你可以看到你的service已经存在。
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 


第五步:然后选中需要调用service的项目,新建webservice client项目,如图,选中对应service后,按照提示完成生成步骤。
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 

第六步:按照提示生成完成后,你可以看到以下的内容
webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
 ,当然你可以写一个测试的例子如下

package com.ebiz.cms.member.api.service;

import java.rmi.RemoteException;

public class Test {

	public static void main(String[] args) throws RemoteException {
		// TODO Auto-generated method stub
		MemberWebServiceProxy proxy = new MemberWebServiceProxy();
		proxy.createMemPxy("username", "123456", "123123", "qing@sina.com", "M");
	}

}

 

最后,你可以把内容输出,我是通过调试在service端看到了结果。

 

总结:什么事情在不清楚的情况下,让人真的接近崩溃,花费了一天的时间不知道怎么去调用,在知道方法后不到20分钟却搞定了,但是出了结果后,还是让人很愉悦的。

 

  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 38.8 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 15.7 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 67.7 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 17.3 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 15.4 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 40.5 KB
  • webservice之间通信
            
    
    博客分类: WebJava webserviceeclipse通信 
  • 大小: 4.9 KB

上一篇: 通信介绍

下一篇: Oracle常用SQL操作