`

CXF_2

 
阅读更多
package cn.itcast.cxf;
/**
 * 通过wsdl2java生成客户端代码调用Webservice服务
 *
 */
public class App {

	public static void main(String[] args) {
		/**
		 * <wsdl:service name="IHelloServiceService">
		 */
		IHelloServiceService hss = new IHelloServiceService();
		/**
		 * <wsdl:portType name="IHelloService">
		 */
		IHelloService hs = hss.getIHelloServicePort();
		/**
		 * <wsdl:operation name="sayHello">
		 */
		String ret = hs.sayHello("aa");
		System.out.println(ret);
	}
}

 服务端代码:

1_接口类

package cn.itcast.cxf;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

@WebService
@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)
/**
 * 通过@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)转换为实现SOAP1.2
 */
public interface IHelloService {

	public String sayHello(String name);
}

 2_接口实现类

package cn.itcast.cxf;

import java.text.SimpleDateFormat;
import java.util.Date;

public class HelloServiceImpl implements IHelloService {

	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;
	}

}

 3_服务发布类

package cn.itcast.cxf;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

/**
 * 
 * 使用JaxWsServerFactoryBean发布CXF的Web服务
 * 必须加入WebService注解,如果不加,虽然不报错,但是所有的方法都暴露不出来
 */

public class Server {

	public static void main(String[] args) {
		JaxWsServerFactoryBean bean = new JaxWsServerFactoryBean();
		bean.setAddress("http://"+IpUtils.localIp()+":7788/hello");
		//提供服务的类的类型或接口类型
		bean.setServiceClass(IHelloService.class);
		bean.setServiceBean(new HelloServiceImpl());
		
		//加入请求的消息拦截器
		bean.getInInterceptors().add(new LoggingInInterceptor());
		//加入请求的消息拦截器
		bean.getOutInterceptors().add(new LoggingOutInterceptor());
		
		bean.create();
		System.out.println("Hello Service ready...");
	}
}

 4_工具类

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;
	}

}

 

分享到:
评论

相关推荐

    springboot_cxf_security

    2. Apache CXF: Apache CXF是一个开源的Java服务框架,它允许开发者创建和部署不同类型的Web服务,包括SOAP和RESTful服务。在本项目中,CXF被用来实现Webservice接口,使应用能够对外提供服务。开发者可以通过CXF...

    WebService_CXF_x509

    2. **CXF配置**:在服务端,你需要将生成的证书和私钥添加到服务器的Keystore中,并在CXF的服务器配置中指定Keystore路径和密码。在客户端,需要将信任的证书添加到Truststore,并配置Truststore信息。 3. **安全...

    android_ksoap2_cxf_wss4j_authentication

    本文将深入探讨如何使用Ksoap2在Android客户端实现与使用Apache CXF和WSS4J安全框架的Web服务的认证过程。 **Ksoap2库** Ksoap2是一个轻量级的开源库,专门用于Android平台,它允许Android应用通过HTTP/HTTPS协议...

    cxf_helloworld.rar_SOA CXF_SOA JAVA _cxf_cxf helloworld_hellowor

    CXF入门的经典项目,SOA实现技术之一。要学SOA,必看。

    webservice cxf_demo

    2. **强大的绑定和数据转换**:CXF支持多种协议和数据格式,如HTTP、JMS、SMTP等,并能自动将Java对象与XML消息进行转换。 3. **集成工具**:CXF提供了代码生成器,可以自动生成服务客户端和服务端代码,简化开发...

    spring_cxf_lib

    2. **CXF库**:如cxf-rt-frontend-jaxws、cxf-rt-transports-http等,这些库用于处理Web服务的生成、调用以及HTTP传输。 3. **Spring与CXF集成库**:如spring-cxf、spring-ws等,这些库提供了一组Spring Bean定义,...

    CXF源码:CXF_Spring源码

    2. **CXF_Spring源码分析** 在`CXFSpring`目录中,可能包含了CXF与Spring整合的示例代码。通常,这会涉及到以下关键部分: - **Spring配置文件**:`applicationContext.xml`或类似的文件,用于定义CXF服务的...

    CXF-demo.zip_cxf_cxf 2.7.11 demo_cxf demo_cxf webservice demo_we

    CXF构建WebService示例,具有一定的参考价值,可供学习

    apache cxf_jar包

    2. **cxf-rt-core-2.7.12.jar**: CXF运行时核心组件,包含了执行Web服务请求和响应处理的基础设施。它包括了消息处理、协议支持、以及与WS-*规范相关的功能。 3. **cxf-rt-frontend-jaxws-2.7.12.jar**: JAX-WS...

    CXF_src_WebService

    2. **多种协议和绑定**:CXF支持多种传输协议,如HTTP、HTTPS、JMS等,并且可以绑定到不同的数据格式,如XML、JSON、Plain Old Java Objects (POJOs)等。 3. **WS-*规范实现**:CXF实现了诸如WS-Security、WS-...

    spring_cxf_dubbo

    2. 配置CXF服务:创建服务接口和服务实现,使用JAX-WS注解来定义服务。 3. 配置Spring:在Spring配置文件中声明CXF服务,包括端点地址、服务类等信息。 4. 启动服务:通过Spring启动CXF服务,使其对外提供服务。 ...

    cxf_spring_maven

    在实际操作中,开发者会定义一个服务接口和对应的实现,然后通过CXF的wsdl2java工具生成相应的Java绑定类。服务接口会通过Spring的bean定义暴露为Web服务,而客户端则可以通过CXF的客户端API来消费这个服务。此外,...

    cxf_jar.zip

    2. **JAR文件**:Java Archive (JAR) 文件是Java平台特有的归档格式,用于打包Java类库和资源。在这个场景中,这些JAR文件可能包括CXF的核心库、扩展模块以及相关的依赖库。 3. **Web服务**:Web服务是一种通过网络...

    cxf_restful_webservice

    2. **配置文件**:如CXF的wsdl2java生成的XML配置文件,以及Tomcat的server.xml配置,用于设置CXF服务的端点和部署信息。 3. **Maven或Gradle构建文件**:如pom.xml或build.gradle,用于管理项目依赖和构建流程。 4....

    CXF_WebService_开发指南、技术文档

    CXF_WebService_开发指南、技术文档

    Apache_cxf_学习笔记

    Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。本学习笔记旨在提供对Apache CXF的基本理解、功能特性和实际操作指导。 **1. CXF 简介** 1.1...

    Apache_cxf_学习笔记.docx

    Apache_cxf_学习笔记,学习cxf技术,以及有关webservice接口的使用

    cxf_spring 相关 jar

    2. `cxf-rt-transports-http.jar`:CXF的HTTP传输模块,用于通过HTTP协议发送和接收Web服务请求。 3. `cxf-rt-wsdl.jar`:CXF的WSDL处理模块,用于生成和解析WSDL文件。 4. `spring-beans.jar`:Spring框架的beans...

    cxf-core-3.2.4_cxf_源码

    2. **Service**:服务是CXF中的高层次抽象,它代表了一个业务逻辑的集合,可以被不同的协议(如SOAP或REST)暴露和消费。 3. **Endpoint**:端点是服务的具体实例,它知道如何处理特定的地址和消息格式。端点包含了...

    springmvc_cxf_hibernate.zip

    在IT行业中,Spring、CXF和Hibernate是三个非常重要的开源框架,它们分别在不同的领域有着广泛的应用。Spring作为全面的企业级应用开发框架,CXF用于构建和整合Web服务,而Hibernate则是Java领域中最流行的持久层...

Global site tag (gtag.js) - Google Analytics