`
beck5859509
  • 浏览: 110549 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

四步完成WebService服务端与客户端的调用

    博客分类:
  • java
 
阅读更多
   内部系统之间数据传输使用RMI方式比较方便,但外部系统之间由于系统兼容性原因,使用WebService是较流行的方式。这两天特意整理了一下WebService发布、调用的方式,把实例贴出来。
  
   1.服务端配置:使用CXF + Spring方式。
   配置web.xml,添加cxfservler,
  
  
<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
   


原因是webservice服务是运行在web容器中的,接收外部的http请求。所以配置一个servler,这里由cxf进行包装。

    2.编写具体发布服务逻辑,并使用Spring进行配置
   
@WebService 
public interface ISpeakService { 
   public String speak(String userName, Date date); 

@WebService(endpointInterface = "com.sfexpress.ISpeakService") 
public class SpeakServiceImpl implements ISpeakService { 

   public String speak(String userName, Date date){
       return "Hello " + userName + ", today is " + date.toString(); 
   } 
} 
} 


    
配置spring beans.xml文件,发布服务端的逻辑,并配置外接访问地址为:/SpeakService
  
   	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
	
	<jaxws:endpoint id="speakService"
		implementor="com.sfexpress.SpeakServiceImpl" 
		address="/SpeakService" />


3.导出服务端生成的wsdl文件,访问http://localhost:8180/SpeakService?wsdl,把网页内容保存成speak.wsdl文件。wsdl是接口描述文件,通过XML进行定义,客户端需要把wsdl文件提前解析为java文件,这样在客户端就可以像rmi方式一样调用。
转换工具使用apache-cxf-2.6.16, 具体命令:wsdl2java -p com -d D:\data\sss d:\data\sss\speak.wsdl 取出生成的ISpeakService.java类。

4.新建java工程并创建一个客户端调用主类。
拷贝刚才生成的ISpeakService.java至客户端工程。
主类中按下面方式调用即可。

	public static void main(String[] args) throws DatatypeConfigurationException {

		// 创建WebService客户端代理工厂
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
		// 注册WebService接口
		factory.setServiceClass(ISpeakService.class);
		// 设置WebService地址
		factory.setAddress("http://localhost:8180/SpeakService?wsdl");
		
		XMLGregorianCalendar  date = DatatypeFactory.newInstance().newXMLGregorianCalendar();
		date.setYear(2014);
		date.setMonth(11);
		date.setDay(12);
		
		ISpeakService greetingService = (ISpeakService) factory.create();
		System.out.println("message context is:"
		+ greetingService.speak("beck", date));

	}


2
4
分享到:
评论

相关推荐

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的方法。 首先,我们需要理解Spring Boot与CXF的整合。Spring Boot通过...

    WebService服务端和客户端

    在这个小型项目中,我们将深入探讨WebService服务端和客户端的实现。 首先,让我们理解WebService的基本工作原理。WebService是通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...

    WebService 服务端及客户端样例工程

    WebService服务端及客户端样例工程提供了一个完整的实例,帮助开发者理解如何创建、调用和测试Web服务。服务端主要涉及接口定义、服务发布,而客户端则涉及代理类的生成和调用服务。在实际项目中,还需要关注安全性...

    webservice 服务端 和客户端 例子代码

    1. **WebService服务端开发**: - **SOAP协议**:服务端需要理解并处理SOAP消息,这通常通过创建一个SOAP终结点实现。例如,使用Java的JAX-WS框架,可以定义一个Java接口,并用注解如`@WebService`标记,然后由框架...

    Java cxf开发webservice,分别有客户端和服务端

    在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息,实现两个系统间消息的传递 jar包都在lib项目里 具体...

    webservice服务端和客户端实践

    本实践项目主要涉及WebService服务端与客户端的实现,参考了Apache的官方源码,下面将详细介绍相关知识点。 一、WebService基础 1. WSDL(Web Service Description Language):WebService的接口定义语言,用于描述...

    AXIS1.4webservice服务端和客户端例子

    在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...

    C#创建和调用WebService服务端和客户端代码

    在这个项目“C#创建和调用WebService服务端和客户端代码”中,我们将探讨如何使用Visual Studio 2013和.NET Framework 4.5来实现这一目标。 首先,让我们深入理解Web Service的工作原理。Web Service基于标准的协议...

    搭建WebService服务端和客户端的jar报

    本篇将详细介绍如何使用CXF框架搭建WebService服务端和客户端,并讨论相关jar包的作用。 一、CXF框架介绍 Apache CXF是一个强大的Java Web服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。CXF使得...

    axis生成webservice服务端和客户端详细说明及实例

    Axis为开发者提供了便捷的工具来创建和使用Web服务,无论是服务端的搭建还是客户端的调用,都能通过简单的命令和代码实现。通过理解WSDL文件,你可以更好地理解Web服务的结构和交互方式。在实际项目中,灵活运用Axis...

    WebService服务端与调用客户端原码与文档

    VS2005 VC开发的一个WebService例子 两个工程 一个详细文档 代码编译通过 运行正确 VC ATL创建的一个服务端只实现Add函数 VC 基于对话框的MFC程序调用创建的WebService 文档详细说明到每一步

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    为了测试,我们可以创建一个简单的JUnit测试类,模拟客户端调用服务端的过程,检查返回结果是否符合预期。同时,确保所有网络通信都是通过安全的HTTPS连接进行的。 在本示例中,"test"可能包含的是测试类、配置文件...

    webservice服务端及客户端实例

    总结来说,理解并掌握WebService服务端和客户端的实例,有助于我们构建跨平台、跨语言的分布式系统,促进系统的互操作性和可扩展性。通过实践,我们可以更好地了解其工作原理,从而在实际项目中灵活应用。

    CXF建立webservice服务端和客户端

    4. **启动服务**:最后,启动CXF服务器,服务端点就会对外提供服务,等待客户端调用。 现在转向客户端,创建CXF SOAP客户端涉及以下步骤: 1. **生成客户端代理类**:CXF提供了工具,如wsdl2java,可以从服务的...

    使用eclipse生成webService服务端与客户端.zip

    通过观看`使用eclipse生成webService服务端与客户端.avi`这个视频教程,你可以更直观地了解每个步骤,并跟随操作进行实践。学习并掌握这个过程对于开发基于Web服务的应用程序至关重要,因为Web服务允许系统间的互...

    C#写的webservice服务端和调用端实例(完整)

    【C#编写的WebService服务端与调用端详解】 在.NET框架中,C#是一种广泛使用的编程语言,尤其在创建Web服务方面表现出色。WebService是一种允许不同系统间进行通信的技术,它通过HTTP协议传递数据,使得分布式应用...

    java版WebService生成客户端和服务端的实例

    本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    php编写webservice soap服务端及客户端

    1. **定义业务逻辑函数**:这些函数将被SOAP客户端调用,实现实际的数据处理。 2. **实例化SoapServer**:创建一个SoapServer对象,并将业务逻辑函数作为参数传递,这样它们就会作为SOAP服务的方法暴露出去。 3. **...

Global site tag (gtag.js) - Google Analytics