CXF+Spring+Websphere7.0

来源:互联网 发布:软件性能测试报告案例 编辑:程序博客网 时间:2024/06/05 08:08
CXF版本:apache-cxf-2.5.2.zip
新建一个web工程cxf,把用到的lib包导入,参考图:lib包.jpg
 
web.xml配置:
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:**/spring.xml</param-value>
</context-param>
<servlet>
    <servlet-name>cxf</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>cxf</servlet-name>
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

src目录下创建spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<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"/>
这几个文件在cxf-2.5.2.jar中

下面开始写服务器端代码,首先定制服务器端的接口,代码如下:
package cxf.demo;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

@WebService
public interface HelloWorld {
    @WebMethod
    @WebResult
    public String sayHi(@WebParam String text);
}

下面编写WebService的实现类,服务器端实现代码如下:
package cxf.demo;

import javax.jws.WebService;

@WebService(endpointInterface="cxf.demo.HelloWorld") 
public class HelloWorldImpl implements HelloWorld {

        public String sayHi(String name) {
                String msg = "Hello " + name + "!";
                return msg;
        }
}

spring.xml文件中添加如下配置:
<jaxws:endpoint id="helloworld" implementor="cxf.demo.HelloWorldImpl"address="/HelloWorld" />

在WebRoot/META-INF/MANIFEST.MF文件中添加:DisableIBMJAXWSEngine:true
然后把工程打成war包部署到Websphere7.0上。部署步骤就不在详细说了,不会可在网上找。

部署成功后点击工程名cxf_war,参考图:工程名.jpg
最后进入到下图中,参考图:工程配置.jpg
然后“类装入器顺序”下拉选择第二项,如图:选项图.jpg
确定后重启服务,一定要重启服务,重启应用貌似不管用。
服务启动后再启动应用,然后在地址栏输入下面地址:
http://localhost:9080/cxf/ws/HelloWorld?wsdl

如果你能看到wsdl的xml文件的内容,就说明你成功了。客户端代码就不写了,如有什么问题可留言。

图可在http://www.bianchengke.com/forum.php?mod=viewthread&tid=314&page=1#pid614中看到,懒得再弄过来了,需要注册。

由于上述网站会不定期更新,图片会看不到,因此将图片上传到此:

lib包.jpg


工程名.jpg

工程配置.jpg

选项图.jpg

转载请注明出处:http://blog.csdn.net/ld422586546/article/details/8626120 

原创粉丝点击