webservice之间通信

简介: webservice之间通信

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



第一步:检查你的eclipse是否已经自带了webservice的开发插件,如下图

image.png

如果没有,则从网上进行插件的安装。



第二步:在你原有的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项目,如图


image.png


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



第四步:新建一个空的web项目,将上面编写的MemberWebService放置到新建的项目中,保持包的路径一致,方法的具体内容不用关心,再按照上面第三步的方式进行生成service,此时就会成功,然后你可以看到项目的目录结构如下

image.png

把红色部分的文件复制到你需要的项目中,再把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已经存在。

image.png




第五步:然后选中需要调用service的项目,新建webservice client项目,如图,选中对应service后,按照提示完成生成步骤。

image.png


第六步:按照提示生成完成后,你可以看到以下的内容

image.png

,当然你可以写一个测试的例子如下


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分钟却搞定了,但是出了结果后,还是让人很愉悦的。

相关文章
|
XML Java 数据处理
springMvc项目集成cxf实现webService通信方式的详细步骤
springMvc项目集成cxf实现webService通信方式的详细步骤
springMvc项目集成cxf实现webService通信方式的详细步骤
|
6月前
|
缓存 应用服务中间件 数据库
Python Web Service开发及优化
随着互联网的快速发展,Web服务已成为现代技术的核心。Python作为一种功能强大且易于学习的编程语言,在Web服务开发领域占据着重要地位。Python Web服务开发的重要性在于它能够提供高效、可扩展且易于维护的解决方案。本篇博客将探讨如何使用Python的Flask框架、Gunicorn WSGI服务器和Nginx网页服务器来实现高性能的Web服务。
|
6月前
|
XML Java 应用服务中间件
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
90 0
|
6月前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
144 0
|
6月前
|
Java 应用服务中间件 Spring
WebService - CXF开发Server和Client(main方法测试)
WebService - CXF开发Server和Client(main方法测试)
90 0
|
存储 测试技术
Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本
Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本
125 0
Loadrunner 脚本开发-利用Loadrunner生成Web service测试脚本
|
Java Android开发
哇!eclipse+webservice开发实例居然这样写(有源码可用)
哇!eclipse+webservice开发实例居然这样写(有源码可用)
146 0
哇!eclipse+webservice开发实例居然这样写(有源码可用)
|
XML 存储 测试技术
Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
153 0
|
Java 应用服务中间件 Apache
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
webservice开发不得不知的细节,Error creating bean with name ‘org.apache.cxf.jaxws.EndpointImpl---1987203924‘
158 0
|
XML Java API
彻底了解|利用Apache CXF框架开发WebService
前言WebService是为了支持网络的机器间操作交互而设计用来开发分布式的交互操作的应用程序组件,通常被定义为一组模块化的API,他们可以通过网络进行调用,来执行远程系统的请求服务,而...
506 0