创建以及发布webservice

第一步:到官网下载jar包,地址为:http://cxf.apache.org/,jar包解释如下:[/size]文件目录结构及相关文件的详细说明:

bin(目录)
bin 目录中是 CXF 框架中所提供的代码生成、校验、管理控制台工具:

Java to WSDL : java2wsdl
CXF Management Console Tool : mc
WSDL to Java : wsdl2java
WSDL to Service : wsdl2service
WSDL to SOAP : wsdl2soap
WSDL to XML : wsdl2xml
WSDL Validation : wsdlvalidator
XSD to WSDL : xsd2wsdl
docs(目录)
CXF 所有类(class)对应的 API 文档,为开发者使用 CXF 完成应用开发提供应有的帮助。

etc(目录)
包含一个基本的 Service 暴露所需要的 web.xml 文件,及其它的配置文件。

lib(目录)
lib 目录中包含 CXF 及其运行时所需要的和可选的第三方支持类包(.jar 文件),可以根据不同项目所需的 CXF
特性选择所需要的支持类包。如果不想一一去区分的话,可以直接在 Web 项目中包含所有的 CXF 及其运行时所需要
的第三方支持类包(.jar 文件)即可。
其中 cxf-2.0.2-incubator.jar 是 CXF 框架的二进制包文件,包含了全部的模块(modules),cxf-manifest-incubator.jar
是列表清单文件 manifest jar 。
以下的 jar 包是所有 CXF 项目所必需的:

cxf.jar
commons-logging.jar
geronimo-activation.jar (Or the Sun equivalent)
geronimo-annotation.jar (Or the Sun equivalent)
geronimo-javamail.jar (Or the Sun equivalent)
neethi.jar
jaxb-api.jar
jaxb-impl.jar
stax-api.jar
XmlSchema.jar
wstx-asl.jar
xml-resolver.jar
对于 Java2WSDL 和 WSDL2Java,除了必需的之外,还需要再增加如下 jar 包:

jaxb-xjc.jar
veliocity.jar
velocity-dep.jar
为了支持 JAX-WS ,除了必需的之外,还需要再增加如下 jar 包:

jaxws-api.jar
saaj-api.jar
saaj-impl.jar
asm.jar (可选的,但是可以提升包装类型的性能)
为了支持 XML 配置,除了必需的之外,还需要再增加如下 jar 包:

aopalliance.jar
spring-beans.jar
spring-context.jar
spring-core.jar
spring.web.jar
为了独立的 HTTP 服务支持,除了必需的之外,还需要再增加如下 jar 包:

geronimo-servlet.jar
jetty.jar
jetty-sslengine.jar
jetty-util.jar
sl4j.jar & sl4j-jdk14.jar (可选的,但是可以提升日志 logging)
为了支持 Aegis ,除了必需的之外,还需要再增加如下 jar 包:

jaxen.jar
jdom.jar
stax-utils.jar
为了支持 WS-Security ,除了必需的之外,还需要再增加如下 jar 包:

bcprov-jdk14.jar
wss4j.jar
xalan.jar
xmlsec.jar
为了支持 HTTP Binding ,除了必需的之外,还需要再增加如下 jar 包:

jra.jar
jettison.jar (仅为 JSON 服务所需的)
licenses(目录)
列表了引用第三方 jar 包的相关许可协议。

modules(目录)
modules 目录中包含了 CXF 框架根据不同特性分开进行编译的二进制包文件。发布基于 CXF 框架的 Web 项目时,可以选择使用该目录下的所有 .jar 文件,也可以选择 lib 目录中的 cxf-2.0.2-incubator.jar 文件。

samples(目录)
samples 目录中包含了所有随 CXF 二进制包发布的示例,包含这些示例的源代码和相关 Web 应用配置文件,可以方便地用 Ant 来编译运行测试这些示例,来了解 CXF 的开发和使用的方法。可以通过 samples 目录和它各个子目录下的 README.txt 的文件来详细了解示例的编译与运行的步骤。

DISCLAIMER 由于仍是处于 Apache 孵化状态的项目,这里描述了一些说明。
LICENSE 文件中包含了 CXF 框架的授权协议 Apache License Version 2.0 。
NOTICE 罗列了 CXF 框架用到的相关第三方组件的授权协议以其它的相关信息。
README 文件中包含了 CXF 框架本身的一些简要说明。
release_notes.txt 包含了 CXF 发布时的一些信息,包括运行时所需要的环境,修复 BUG 的列表等。
第二步:web.xml添加<servlet> 
        <servlet-name>CXFServlet</servlet-name> 
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>CXFServlet</servlet-name> 
        <url-pattern>/service/*</url-pattern> 
    </servlet-mapping>
第三步:spring 配置文件添加
在applicationContext.xml
<import resource="applicationContext-ws-service.xml"/>
ws配置文件添加:
applicationContext-ws-service.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-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd"  default-autowire="no" default-dependency-check="none" default-merge="false"  default-lazy-init="false" >
<!-- 收付回写接口webservice -->
<jaxws:endpoint id="finPrmBackWebService"
    implementor="com.isoftstone.interfaces.fin.finprmback.service.impl.FinPrmBackWebServiceImpl"
    address="/finPrmBackWebService" />
   
   
    <!-- 再保接口webservice -->
   <jaxws:endpoint id="reInsureWebService"
    implementor="com.isoftstone.pcis.reInsure.service.serviceImpl.ReInsureServiceImpl"
    address="/reInsureWebService" />
    
</beans>
第四步@WebService(targetNamespace="http://service.reInsure.pcis.isoftstone.com/")
public interface IReInsureService {

@WebMethod
public String queryPolicyByAppNo(@WebParam(name="appNo");
public class ReInsureServiceImpl implements IReInsureService { @SuppressWarnings("unchecked")
@WebMethod
public String queryPolicyByAppNo(String appNo) {
return resultMsg;
}
}
第五步启动tomcat,然后打开
http://localhost:8080/自己工程名/service/

猜你喜欢

转载自guoxing.iteye.com/blog/2316592