之前用jax-ws写了一个webservice,但是和现有SSH的一个应用系统结合后,没法获取spring的application.xml里的sessionFactory配置。只能在WS的构造体里写
// String fs = new File(HyDataWrapperWS.class.getResource("/").getPath()).getParent()+"/webservice.xml";
// Resource rs = new FileSystemResource(fs);
// BeanFactory factory = new XmlBeanFactory(rs);
//
// HyDataWrapperWSProcess p = (HyDataWrapperWSProcess)factory.getBean("hydatawrapperwsprocess");
手动的获取bean。并且webservice.xml还得重复一遍定义datasource和sessionfactory。
后来打算用cxf来重新构造webservice,就是看到cxf和spring可以完美结合。
按照apache的标准教程一步一步下来,
http://localhost:8080/hy/service//HyDataWrapperWSService?wsdl但是最后就是没法看到wsdl。
报has thrown
> exception, unwinding now
> org.apache.cxf.frontend.WSDLQueryException:
> Exception occurred while trying to process
> http://localhost:9081/MortgageGateway/soap/LnSetupLoanService
> at
org.apache.cxf.frontend.WSDLGetUtils.getDocument(WSDLGetUtils.java:248)
> at
> org.apache.cxf.frontend.WSDLGetInterceptor.getDocument(WSDLGetInterceptor.ja
> va:158) at
> org.apache.cxf.frontend.WSDLGetInterceptor.handleMessage(WSDLGetInterceptor.
> java:110) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain
> .java:263) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationOb
> server.java:123) at
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDes
> tination.java:207) at
类似的错误。
找了很久,发现原来用jax-ws的时候引用了一个javax.wsdl_1.5.1.v200806030408.jar
现在cxf却有一个wsdl4j-1.6.2.jar包。里面的方法几乎一样。果断把javax.wsdl_1.5.1那个jar删除。一切问题解决。
还是一句老话,java工程里引用的jar包还是千万要注意版本冲突问题。
分享到:
相关推荐
这可以通过调用`org.apache.cxf.frontend.ServerFactoryBean`的相关方法来完成。 【CXFSpringClient】是客户端项目,用于消费服务端提供的服务。以下是客户端的关键知识点: 1. **服务代理生成**:CXF提供了工具...
本教程将围绕"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合进行详细讲解,旨在帮助开发者理解如何在IDEA(IntelliJ IDEA)环境中搭建一个基于Maven的Spring MVC项目,并结合Apache CXF实现Web服务的消费与提供。...
【标题】"基于maven的cxf+spring简单demo"是一个示例项目,它演示了如何结合Apache CXF和Spring框架来构建一个简单的Web服务。Apache CXF是一个开源的Java框架,主要用于创建、部署和管理Web服务。而Spring是另一个...
<bean id="cxf" class="org.apache.cxf.frontend.ServerFactoryBean"> <value>com.example.MyWebService</value> <property name="address" value="http://localhost:8080/mywebservice"/> <!-- ...
这些依赖通常包括cxf-rt-frontend-jaxws、cxf-rt-transports-http、spring-core、spring-context等。 接着,我们需要定义服务接口和其实现类。服务接口通常是JAX-WS注解的,比如`@WebService`,它声明了服务的命名...
<bean id="cxfServlet" class="org.apache.cxf.transport.servlet.CXFServlet"> <property name="bus" ref="cxf" /> <bean class="org.springframework.web.servlet.mvc.annotation....
在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...
"可与spring3.2.0完美整合"意味着Apache CXF支持与Spring框架的无缝集成。Spring是一个广泛使用的Java企业级应用框架,它提供依赖注入(DI)和面向切面编程(AOP)等功能。CXF可以利用Spring的这些特性来管理服务...
<groupId>org.apache.cxf <artifactId>cxf-rt-frontend-jaxrs <version>3.0.2 <groupId>org.apache.cxf <artifactId>cxf-rt-transports-http</artifactId> <version>3.0.2 <groupId>org.springframework ...
<bean id="cxf" class="org.apache.cxf.frontend.ServerFactoryBean"> ... ... <bean id="myWebService" class="com.example.MyWebServiceImpl"/> ``` 7. **启动和发布服务**: 使用Spring的`...
<bean id="yourServiceClient" class="org.apache.cxf.frontend.ClientProxyFactoryBean"> <property name="serviceClass" value="com.yourcompany.YourServiceInterface"/> ...
Apache CXF 是一个开源项目,提供了一套强大的工具和服务框架,用于构建和开发基于标准的服务(如 Web Services)。本文将详细介绍如何使用 CXF 实现 SSL 安全验证,并在此基础上构建 HTTPS 的 Web Service。 ### ...
本教程将深入探讨如何将Apache CXF与Spring框架结合,实现一个完整的Web服务传输验证的示例。CXF是一个开源服务框架,它支持多种Web服务标准,包括SOAP和RESTful服务,而Spring则为应用程序提供了全面的依赖注入和...
import org.apache.cxf.frontend.spring.SpringBusFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @EnableCxfWs ...
在本文中,我们将深入探讨如何将Apache CXF与Spring框架集成,以便同时支持JSON和XML的Web服务。Apache CXF是一个流行的开源框架,用于构建和消费Web服务,而Spring是Java开发中的一个全面的框架,提供了强大的依赖...
<groupId>org.apache.cxf <artifactId>cxf-rt-frontend-jaxws <version>3.x.x <groupId>org.apache.cxf <artifactId>cxf-rt-transports-http</artifactId> <version>3.x.x <!-- Spring与CXF整合库 -->...
1. **环境准备**:确保已安装Java开发工具(JDK)并配置好环境变量,然后下载并安装Apache CXF和Spring框架的相应版本。 2. **创建Maven项目**:为了简化依赖管理,推荐使用Maven作为构建工具。在pom.xml文件中添加...
<bean id="helloWorldServiceEndpoint" class="org.apache.cxf.frontend.ServerFactoryBean"> <property name="serviceClass" value="com.example.cxf.HelloWorldService" /> ...
<bean id="cxfEndpointConfigurer" class="org.apache.cxf.frontend.spring.SpringBusFactory"> <property name="bus" ref="cxf"/> <bean id="cxf" class="org.apache.cxf.BusFactory" factory-method="createBus...
<bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus"> <bean id="busFactory" class="org.apache.cxf.bus.spring.SpringBusFactory"/> ``` 4. **使用 Spring 注解**:通过在服务类上使用 @...