public class App_CXF_1_Client { public static void main(String[] args) { /** * WSDL:<service name="HiServiceService"> */ HiServiceService hss = new HiServiceService(); /** * WSDL:<port binding="tns:HiServiceServiceSoapBinding" name="HiServicePort"> */ HiService hi = hss.getHiServicePort(); String ret = hi.sayHi("App_CXF_1_Client-----"); System.out.println(ret); System.out.println(hi.getClass().getName()); } }
HiService.java:
使用JaxWsServerFactoryBean发布CXF的Web服务
必须加入WebService注解,如果不加,虽然不报错,但是所有的方法都暴露不出来
WSDL地址=http://localIp:7788/hi
package cn.itcast.cxf; import java.text.SimpleDateFormat; import java.util.Date; import javax.jws.WebService; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; /** * 使用JaxWsServerFactoryBean发布CXF的Web服务 * 必须加入WebService注解,如果不加,虽然不报错,但是所有的方法都暴露不出来 */ @WebService public class HiService { public String sayHi(String name){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("sayHi()... name:" + name); return sdf.format(new Date()) + " hi " + name; } public static void main(String[] args) { JaxWsServerFactoryBean bean = new JaxWsServerFactoryBean(); //服务的地址 String wsdlName = "http://"+IpUtils.localIp()+":7788/hi"; bean.setAddress(wsdlName); //提供服务的类的类型 bean.setServiceClass(HiService.class); //提供服务的实例 bean.setServiceBean(new HiService()); //发布服务 publish()... bean.create(); System.out.println("server ready..."); } }
HelloService.java
使用ServerFactoryBean发布CXF的Web服务
WSDL地址=http://localIp:6789/hello
package cn.itcast.cxf; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.cxf.frontend.ServerFactoryBean; /** * 使用ServerFactoryBean发布CXF的Web服务 * */ public class HelloService { public String sayHello(String name){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("sayHello()... name:" + name); return sdf.format(new Date()) + " hello " + name; } public static void main(String[] args) { ServerFactoryBean bean = new ServerFactoryBean(); //服务的发布地址 String wsdlName = "http://"+IpUtils.localIp()+":6789/hello"; bean.setAddress(wsdlName); //提供服务的类的类型 bean.setServiceClass(HelloService.class); //提供服务的实例 bean.setServiceBean(new HelloService()); //发布服务 publish()... bean.create(); System.out.println("server ready..."); } }
package cn.itcast.cxf; import java.net.InetAddress; import java.net.UnknownHostException; public class IpUtils { @SuppressWarnings("static-access") public static String localIp(){ //服务的地址 InetAddress address; String localIp = ""; try { address = InetAddress.getLocalHost(); localIp = address.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } return localIp; } }
相关推荐
1. **创建服务接口**:定义一个简单的Java接口,例如`HelloWorldService`,包含一个`sayHello`方法。 2. **实现服务**:创建一个实现了服务接口的类,如`HelloWorldServiceImpl`。 3. **配置CXF**:通过XML配置文件...
1. **证书生成与管理**:首先,你需要生成X.509证书,这通常通过Keytool(Java自带的工具)或者OpenSSL完成。证书包含公钥和身份信息,私钥则用于解密和签名。 2. **CXF配置**:在服务端,你需要将生成的证书和私钥...
本文将深入探讨如何使用Ksoap2在Android客户端实现与使用Apache CXF和WSS4J安全框架的Web服务的认证过程。 **Ksoap2库** Ksoap2是一个轻量级的开源库,专门用于Android平台,它允许Android应用通过HTTP/HTTPS协议...
1. **SOAP和RESTful服务**:CXF允许开发者创建符合WS-*标准的SOAP服务,同时也支持更轻量级的RESTful服务,满足不同应用场景的需求。 2. **强大的绑定和数据转换**:CXF支持多种协议和数据格式,如HTTP、JMS、SMTP...
1. **Spring核心库**:包括spring-context、spring-beans、spring-core等,它们提供了Spring框架的基础功能,如IoC容器和AOP支持。 2. **CXF库**:如cxf-rt-frontend-jaxws、cxf-rt-transports-http等,这些库用于...
1. **pom.xml**:这是Maven项目的配置文件,包含了项目的依赖信息,如CXF库和其他必要的库。通过解析这个文件,我们可以了解项目所依赖的CXF版本和其他相关技术。 2. **src/main/java**:源代码目录,通常包含Web...
1. Spring Boot: Spring Boot是Spring框架的一个扩展,旨在简化Spring应用的初始搭建以及开发过程。它通过提供默认配置来减少项目的初始化工作,并内置了Tomcat服务器,使得我们可以无需额外配置就能运行Web应用。...
1. **CXF与Spring的整合** Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力而闻名,而CXF作为Web服务框架,能够利用Spring的这些特性。通过Spring配置,我们可以轻松地声明CXF服务端点,并且利用...
1. **cxf-api-2.7.12.jar**: 这是CXF的主要API模块,包含了用于创建、部署和管理Web服务的基础类和接口。它提供了服务接口和服务实现之间的桥梁,使得开发者能够方便地在Java代码中定义和调用Web服务。 2. **cxf-rt...
1. **SOAP和RESTful服务支持**:CXF允许开发者创建符合SOAP规范的Web服务以及遵循RESTful架构风格的服务。它提供了对WSDL(Web服务描述语言)的支持,用于定义服务接口。 2. **多种协议和绑定**:CXF支持多种传输...
1. 添加CXF依赖:在项目pom.xml中添加CXF相关的依赖库。 2. 配置CXF服务:创建服务接口和服务实现,使用JAX-WS注解来定义服务。 3. 配置Spring:在Spring配置文件中声明CXF服务,包括端点地址、服务类等信息。 4. ...
在IT行业中,构建Web服务是常见的任务之一,而Apache CXF和Spring框架的结合使用能够高效地实现这一目标。"cxf_spring_maven"项目就是这样一个实例,它展示了如何在Spring环境中利用CXF来创建和消费Web服务,同时...
1. **Apache CXF**:CXF是一个开源的Java Web服务框架,它允许开发者以JAX-WS和JAX-RS标准来创建和消费Web服务。它支持SOAP、RESTful、XML以及各种WS-*规范,如WS-Security、WS-Addressing等。 2. **JAR文件**:...
1. **源代码**:Java源文件,其中包含了CXF服务的实现,包括接口定义和实现类。 2. **配置文件**:如CXF的wsdl2java生成的XML配置文件,以及Tomcat的server.xml配置,用于设置CXF服务的端点和部署信息。 3. **Maven...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。本学习笔记旨在提供对Apache CXF的基本理解、功能特性和实际操作指导。 **1. CXF 简介** 1.1...
1. `cxf-api.jar`:CXF的核心API,包含了服务接口和数据绑定相关的类。 2. `cxf-rt-transports-http.jar`:CXF的HTTP传输模块,用于通过HTTP协议发送和接收Web服务请求。 3. `cxf-rt-wsdl.jar`:CXF的WSDL处理模块,...
在IT行业中,Spring、CXF和Hibernate是三个非常重要的开源框架,它们分别在不同的领域有着广泛的应用。Spring作为全面的企业级应用开发框架,CXF用于构建和整合Web服务,而Hibernate则是Java领域中最流行的持久层...
1. **Bus**:CXF系统中的核心组件,它管理服务、端点和绑定等其他组件。Bus提供了配置和插件管理机制,允许开发者自定义和扩展功能。 2. **Service**:服务是CXF中的高层次抽象,它代表了一个业务逻辑的集合,可以被...
1. **设置Spring上下文**:首先,我们需要创建一个Spring配置文件(如`applicationContext.xml`),在这里定义服务接口、实现类以及它们之间的依赖关系。服务接口通常是Web服务的公共API,实现类则是具体的业务逻辑...
1. **引入依赖**:首先,在项目中添加CXF和Spring的相关依赖库。 2. **配置CXF**:在Spring配置文件中,定义CXF的Bus实例,配置服务端点(Endpoint)和服务器(Server)。 3. **服务发布**:通过Spring的`jaxws:...