`
tangxininjava
  • 浏览: 96694 次
  • 性别: Icon_minigender_1
  • 来自: 遂宁
社区版块
存档分类
最新评论

CXF

 
阅读更多

CXF 定义服务端传递List参数报错,最好写一个类来封装List。

 

spring集成cxf

 

1.web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<display-name>(Spring Application)</display-name>
	<context-param>
		<description>log4j 配置文件位置</description>
		<param-name>log4jConfigLocation</param-name>
		<param-value>/WEB-INF/classes/log4j.properties</param-value>
	</context-param>
	<context-param>
		<description>Spring配置文件位置</description>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:applicationContext*.xml
	</param-value>
	</context-param>


	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	

	<session-config>
		<session-timeout>43200</session-timeout>
	</session-config>
	
	
	<!-- 集成cxf(webservice)-->
	<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>


	<!-- end booking ticket -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<error-page>
		<error-code>404</error-code>
		<location>/index.jsp</location>
	</error-page>


</web-app>

 

2.applicationContext-ws.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
	                    http://www.springframework.org/schema/context    
	                    http://www.springframework.org/schema/context/spring-context-3.0.xsd    
	                    http://cxf.apache.org/jaxws     
	                    http://cxf.apache.org/schemas/jaxws.xsd">

	<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="userService" implementor="org.apache.cxf.ws.service.ComplexUserService"
		address="/userService" />

</beans>

 

  IComplexUserService.java

package org.apache.cxf.ws.service;

import javax.jws.WebService;

import org.apache.cxf.pojo.User;



@WebService
public interface IComplexUserService {
	String validateUser(User user);
}

 

ComplexUserService.java

package org.apache.cxf.ws.service;


import javax.jws.WebService;

import org.apache.cxf.pojo.User;

@WebService(endpointInterface="org.apache.cxf.ws.service.IComplexUserService")
public class ComplexUserService implements IComplexUserService {
	@Override
	public String validateUser(User user) {
		return user.validate(user);
	}
}

 

 

 

Exception in thread "main" java.lang.UnsatisfiedLinkError: java.util.zip.ZipFile.open(Ljava/lang/String;IJZ)J
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:127)
	at java.util.jar.JarFile.<init>(JarFile.java:135)
	at java.util.jar.JarFile.<init>(JarFile.java:72)
	at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:646)
	at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:540)
	at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:607)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:599)
	at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:583)
	at sun.misc.URLClassPath$3.run(URLClassPath.java:333)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.misc.URLClassPath.getLoader(URLClassPath.java:322)
	at sun.misc.URLClassPath.getLoader(URLClassPath.java:299)
	at sun.misc.URLClassPath.findResource(URLClassPath.java:145)
	at java.net.URLClassLoader$2.run(URLClassLoader.java:385)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findResource(URLClassLoader.java:382)
	at java.lang.ClassLoader.getResource(ClassLoader.java:1002)
	at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1192)
	at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:78)
	at javax.xml.ws.spi.Provider.provider(Provider.java:83)
	at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
	at org.apache.cxf.logInter.ServiceMain.main(ServiceMain.java:25)

 

 Weblogic优先加载jar包配置

weblogic自带了很多jar包 当工程中的jar和weblogic自带jar版本不一致时 往往会出现错误。

为了解决在weblogic中jar包冲突的问题 你可以在web-inf下创建一个weblogic.xml

内容如:

<?xml version="1.0"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>//优先加载web工程中的jar包
</container-descriptor>
</weblogic-web-app>

转载请注明地址:http://www.cnblogs.com/likehua/

 

 

package org.apache.cxf.logInter;

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import javax.xml.ws.Endpoint;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.ws.service.ComplexUserService;
import org.apache.cxf.ws.service.IComplexUserService;

public class ServiceMain {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		IComplexUserService userService = new ComplexUserService();
		EndpointImpl  ep = (EndpointImpl)Endpoint.publish("http://localhost:7001/spring/services/userService",userService);
		
		//添加in拦截器
		ep.getInInterceptors().add(new LoggingInInterceptor(new PrintWriter(new FileWriter("in.txt"))));
		
		
		//添加out拦截器
		ep.getOutInterceptors().add(new LoggingOutInterceptor(new PrintWriter(new FileWriter("out.txt"))));
		
		System.out.println("web service 暴露接口");

	}

}

 

 

   

 

   

今天用cxf生成内控的客户端遇到问题 全部生成了jaxbelement元素的了  网上找了下命令 找了好久 贴出来以便忘记了 :
H:\apache-cxf-2.7.3\bin>wsdl2java.bat -b "1.xml" -p com.tempus.b2gs.tsa.outInter
face.innercontroller.osbservice  -client -frontend jaxws21 http://172.16.3.158:8
085/osbServicewsdl

 1.xml如下:
 <?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings version="2.1" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<jaxb:globalBindings generateElementProperty="false" />
</jaxb:bindings> 

 

 

分享到:
评论

相关推荐

    cxf的jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者以他们选择的语言(如Java)编写服务端和客户端代码,同时支持多种Web...

    cxf框架包 apache-cxf-3.4.3.tar.gz

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个框架允许开发者通过SOAP、RESTful HTTP、XML以及各种协议来实现服务接口。在本案例中,我们讨论的是"apache-cxf-3.4.3.tar.gz",这是Apache CXF ...

    cxf 3.1.1 jar包

    CXF(CXF: The Apache CXF project is an open source services framework)是一个开源的Java服务框架,它允许开发者创建和消费各种Web服务。CXF的名字来源于"Code first"和"XML first",代表着它支持从Java代码或者...

    Cxf转换器示例

    【Cxf转换器示例】是一个关于Web服务技术的实践项目,主要聚焦于Apache CXF框架中的转换器(Converter)功能。Apache CXF是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)和RESTful应用程序。CXF不仅支持...

    Spring CXF Restful 实例

    在IT行业中,Spring CXF是一个广泛使用的开源框架,它整合了Spring框架的功能和Apache CXF的服务堆栈,为开发人员提供了构建和实现Web服务的强大工具。在这个“Spring CXF Restful实例”中,我们将深入探讨如何利用...

    CXF-3.1.11jar包

    Apache CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。CXF这个名字来源于两个项目的合并:Celtix和XFire,这两个项目都专注于Web服务的实现。CXF3.1.11是该框架的一个特定版本,发布于某个时间点...

    apache-cxf-3.1.6所有jar包

    Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-3.1.6所有jar包"的压缩文件包含了CXF 3.1.6版本的所有核心库和依赖组件。在Java Web服务开发中,CXF扮演着重要...

    CXF打印SOAP报文,记录WebService日志

    ### CXF打印SOAP报文与记录WebService日志 在企业级应用开发中,尤其是涉及到服务端接口(如WebService)的设计与实现时,日志记录变得尤为重要。它不仅可以帮助开发者更好地理解系统运行状况、定位问题所在,还能...

    cxf spring maven 实例

    【标题】"CXF Spring Maven 实例"是一个关于如何整合并使用这些技术创建Web服务的教程。CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目...

    apache-cxf-2.5.2

    Apache CXF 是一个开源的Java框架,用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。这个"apache-cxf-2.5.2"版本是该框架的一个特定发行版,发布于2011年,包含了CXF框架的所有组件和...

    cxf依赖jar包.zip

    在IT行业中,CXF是一个广泛使用的开源框架,主要用于构建和开发Web服务。它不仅支持SOAP,还支持RESTful API,提供了强大的服务实现和消费能力。本篇将详细讲解如何使用CXF来集成Web Service接口到一个Web项目中,...

    apache-cxf-2.7.11

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字是"CXF"前两个版本的名字——"Celtic XFire"和"XFire"的组合,它代表了这个框架在集成不同技术栈上的连续性和进化...

    cxf与axis2区别

    CXF与Axis2框架区别详解 CXF和Axis2是两个流行的Webservice框架,都是由现有的项目逐渐演化而来的。Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2...

    apache-cxf-2.7.7.zip

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个"apache-cxf-2.7.7.zip"压缩包包含了CXF框架的2.7.7版本,这是一个在2013年发布的稳定版本。CXF是Apache软件基金会的项目,它集成了多种Web服务...

    cxf-2.4.2 jar包

    CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和服务导向架构(SOA)。CXF允许开发人员通过多种Web服务协议(如SOAP、RESTful HTTP、XML/HTTP等)来创建和消费Web服务。在这个...

    cxf-3.1.6的所需要的包

    Apache CXF是一个开源的Java框架,它用于构建和部署Web服务。CXF允许开发者通过SOAP、RESTful API、XML以及各种协议和绑定来创建服务。在这个"**cxf-3.1.6**"的压缩包中,包含了运行CXF Web服务所需的基本组件,使得...

    cxf最少依赖jar包

    【CXF最少依赖JAR包】是针对Apache CXF框架的一种精简打包方式,旨在减少项目中的依赖体积,提高项目的加载速度和管理效率。Apache CXF是一个开源的、基于Java的Web服务框架,它允许开发者创建和消费各种类型的Web...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费...

    apache-cxf 2.2.8版本下载

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个项目的核心目标是提供一个工具集,使开发者能够轻松地创建和部署基于SOAP和RESTful的服务。CXF这个名字来源于两个曾经流行...

    springBoot完整整合WebService框架CXF示例

    SpringBoot与CXF整合是构建基于Web服务的应用程序的一个常见实践。CXF是一个开源的Java框架,用于构建和开发服务导向架构(SOA)应用程序,它支持SOAP和RESTful服务。SpringBoot则简化了Spring应用的初始化和配置,...

Global site tag (gtag.js) - Google Analytics