前言,某些服务要发布成webService。webService 不精通,但是还知道一些工具包,庆幸以前用过xfire。ok 发布成功。哇嘎嘎,glassfish v2.2 测试有问题。郁闷。搞了半天不知道如何设置webService中方法的命名空间。哭了。哪就换吧。cxf。嘻嘻。一直想用这个就是没有时间。现在终于可以体验下了。
进入正文,记录下使用cxf 的一些问题。 使用的是cxf v2.3 + spring v3.0.5
使用cxf 发布webSerivce 服务。
老生常谈,几个配置文件的书写。
1.web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml</param-value>
</context-param>
<!-- listener start -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- listener end -->
<!-- filter start -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- filter end -->
<!-- Servlet start -->
<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>/service/*</url-pattern>
</servlet-mapping>
2.spring-webService.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.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="helloWorldService"
implementor="com.bsoft.icp.bi6341.WebServiceImpl"
address="/helloWorldWebService" />
</beans>
3.注意对要发布成webService 服务的接口使用注解进行说明。顺道可以定义自己的命名空间。(测试。不使用注解会抛异常)
@WebService(targetNamespace="http://www.sun.com")
ok,服务器端发布成功,
输入: http://localhost:8080/appName/service/helloWorldWebService?wsdl 显示wsdl 文件。
客户端配置,也使用spring 配置:
<bean id="helloWorldWebService" class="com.test.IHelloworld" factory-bean="clientFactory"
factory-method="create" />
<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.test.IHelloworld" />
<property name="address" value="${webservice.empi}" />
</bean>
客户端配置有几个问题需要注意下:
1.接口需要加 webService 注解。
2.如果服务器端和客户端的命名空间不一样,也会抛出异常。所以最好统一一下命名空键的问题。
分享到:
相关推荐
webserivce.、cxf整合spring,用的是spring3和cxf3。欢迎大家下载尝试
利用CXF和Spring结合搭建的SOA例子,内容包含服务端配置和一个客户端测试配置,服务器端服务配置在beans.xml中,web.xml文件需要修改;客户端测试配置地址是demo.spring.client下的client-beans.xml,测试类为...
这个代码例子是为了调用CXF提供的WS服务,所以先要下载“CXF和Spring结合的例子”,并将服务器(tomcat)运行起来,在利用本客户端测试,本客户端是根据服务端发布的WSDL文件,用wsdl2java直接生成java代码,加入到...
CXF结合spring项目实例,com.email.ws.impl包下为eclipse工具生成的客户端,text包用来测试
有CXF接口开发的技术,也有CXF与Spring结合的实现,与数据库访问用到了Hibernate的注解,虽然只有一个添加功能,相信对学习这方面的朋友还是有帮助的。
apache-cxf结合spring示例
用CXF结合Spring开发WebServices时所需的Jar包,绝对没有垄余。
本实例工程使用Apache CXF组件快速开发WebService。基于Spring框架,使用了Maven项目,但由于时间原因,只使用了Maven Project的框架,还是使用lib文件夹存放所需的cxf库,传入传出对象支持Json格式。
cxf结合spring开发相关webservice,所需相关jar包。
CXF是apache旗下的开源框架,是一套非常流行的web service框架,同时它能与spring进行完美结合。
完美实现cxf2.7.11和spring3的结合,只须写出dao,就可以发布你想要发布的webservice了,包含jar包
使用CXF结合Spring开发WebServices示例工程,包括服务端与客户端的详细代码。
CXF与spring结合,简单描叙了二者结合的方法
一个cxf与spring结合的例子 可以通过spring来自动发布服务。
NULL 博文链接:https://goooooooo.iteye.com/blog/463596
webservice spring与CXF结合实现 实例和jar包都有 导入就可以用
NULL 博文链接:https://lewis-fxb.iteye.com/blog/1165807
cxf 与 Spring 结合,此例子中包含服务端和客户端, 2个工程都是与SSH 结合使用。相信对刚接触的朋友有用!
NULL 博文链接:https://ajita.iteye.com/blog/1740754
Spring是目前最流行的JavaEE Framework,但是使用Spring的Spring-WS开发WebService却...CXF是一个简化WebService开发的开源项目,通过Spring和CXF的结合可以大大简化基于Spring Framework的应用中的WebService开发。