基于cfx的webservice调用

一、简单的(结合Spring)

1、  新建一个web 项目,加入cfx所需要jar

2、  编写要发布的Web Service接口和实现类所需要jar

接口类 HelloWorld :

 1 import javax.jws.WebService;
 2 @WebService
 3 public interface HelloWorld
 4 {
 5     public String sayHello(String text);
 6 }
 7 实现类HelloWorldImpl :
 8 import javax.jws.WebService;
 9 @WebService(endpointInterface="hello.HelloWorld")
10 public class HelloWorldImpl implements HelloWorld
11 {
12     @Override
13     public String sayHello(String text){
14         return "Hello, " + text;
15     }
16 }

实现类HelloWorldImpl :

1 import javax.jws.WebService;
2 @WebService(endpointInterface="hello.HelloWorld")
3 public class HelloWorldImpl implements HelloWorld
4 {
5     @Override
6     public String sayHello(String text){
7         return "Hello, " + text;
8     }
9 }

@WebService 注解表示是要发布的web 服务

3、  在applicationContext_cfx.xml配置要发布的Web Service

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
 4     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">
 5     <import resource="classpath:META-INF/cxf/cxf.xml" />
 6 <!--     <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
 7  -->    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
 8     <bean id="hello" class="hello.HelloWorldImpl" />
 9     <jaxws:endpoint id="helloWorld" implementor=" hello.HelloWorldImpl "
10         address="/HelloWorld" />
11 </beans>

注意:<jaxws:endpoint id="helloWorld" implementor="#hello"           address="/HelloWorld" />   id:指在spring配置的bean的ID. Implementor:指明具体的实现类.  Address:指明这个web service的相对地址

4、 配置web.xml文件

 1 <context-param>
 2         <param-name>contextConfigLocation</param-name>
 3     <param-value>classpath*:applicationContext*.xml</param-value>
 4     </context-param>
 5     <listener>
 6         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 7     </listener>
 8     <servlet>
 9         <servlet-name>CXFServlet</servlet-name>
10         <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
11         <load-on-startup>1</load-on-startup>
12     </servlet>
13     <servlet-mapping>
14         <servlet-name>CXFServlet</servlet-name>
15         <url-pattern>/services/*</url-pattern>
16     </servlet-mapping>

5、 部署到tomcat服务器,输入:http://localhost:8080/<web-app-name>/ HelloWorld?wsdl,将显示这个web service的wsdl.

注意:如果web.xml配置<servlet-name>CXFServlet</servlet-name>           <url-pattern>/ws/*</url-pattern>   则访问地址为:http://localhost:8080/<web-app-name>/ws/ HelloWorld?wsdl

时间: 2024-10-12 22:15:29

基于cfx的webservice调用的相关文章

python发布及调用基于SOAP的webservice

现如今面向服务(SOA)的架构设计已经成为主流,把公用的服务打包成一个个webservice供各方调用是一种非常常用的做法,而应用最广泛的则是基于SOAP协议和wsdl的webservice.本文讲解python环境下如何发布及调用一个基于SOAP的webservice,基于soaplib(发布)和suds(调用). OS:ubuntu 14.04  python:2.7.6 服务端: 1.安装: 服务端要使用的工具包是soaplib,遗憾的是现在也停止维护了,不过好在还能用,下载地址在http

构建基于CXF的WebService服务(3)-- 利用拦截器实现权限验证

CXF中的拦截器分为in拦截器和out拦截器,又有客户端拦截器和服务端拦截器. 拦截器使用流程:客户端(out)-> 服务端(in)->处理业务->服务端(out)->客户端(in),并不是每一步都需要拦截器.在这里我们用到的是客户端Out拦截器和服务端in拦截器.服务端in拦截器检查用户级权限,客户端out浏览器发送用户信息给服务端. 1.创建服务端验证 JaxWsServerFactoryBean或Endpoint都可以通过getInInterceptors方法,向WebSer

纯 Java 开发 WebService 调用测试工具(wsCaller.jar)

注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService 测试工具,不像上文的 iWallpaper.jar 只能实现在 Windows 系统下的功能,此工具发挥了 Java 跨平台的优势,亲测可在 Windows.Mac OS 及 Linux 下运行及使用.简单易用的专门用于测试 WebService 的小工具,在 2003 版 wsCaller.jar 的基础上

构建基于CXF的WebService服务(2)-- 利用CXF提供的wsdl2java工具创建客户端

1.环境配置 将CXF_HOME/bin加入到环境变量path中,如我的是D:\Java\Jar\apache-cxf-2.7.7\bin 打开cmd输入 wsdl2java -v 出现如下信息表示配置成功 2.wsdl2java的使用 (1)创建一个"Java Project"项目,暂且命名为client,将CXF用到的jar包引入进来,去掉jetty相关包,加入geronimo-jaxws_2.2_spec-1.1.jar包 (2)打开命令行工具,将目录切换到client项目中的s

添加webservice调用日志

之前想用spring的AOP给webservice添加切面的,但是使用around切面后,居然调用端得不到webservice的返回结果,而且报文的详细情况也不得而知,很是尴尬,所以偷了个懒.但是该做的还是要做,不要以后要求查看调用日志的时候,什么都拿不出,不是一个尴尬能搞定的. 我使用的是基于cxf的webservice,所以添加调用日志的方法也是基于cxf的,其次是配合sping开发webservice.基本的webservice的实现,这里就不再说明. 一.使用LoggingInInter

基于Jws的WebService项目

基于Jws的WebService项目 1.服务器端建立 1.1.创建接口 [java] view plaincopy @WebService  public interface IWebService {      int add(int a, int b);      int subtract(int a, int b);  }  1.2.创建实现类 [java] view plaincopy @javax.jws.WebService(endpointInterface = "org.gwr

构建基于CXF的WebService服务(1)--创建HelloWorld服务

1.Apache CXF简介 Apache CXF = Celtix+ XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和XFire 两大开源项目的精华,提供了对 JAX-WS全面的支持,并且提供了多种Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)

关于JavaScript 访问基于SOAP的WebService跨域问题

关于JavaScript 访问基于SOAP的WebService跨域问题 最近,搭建好了一个基于SOAP的WebService服务器.结果,使用JavaScript访问WebService遇到了跨域的问题! 首先,声明代码中的WebService不是本人搭建,由于本人的服务器地址不方便公开. 这个是测试HTML <html> <meta charset="utf-8" /> <head> <title>通过ajax调用WebService

springboot+cfx实现webservice功能

一.开发服务端 1.新建工程 cfx-webservice ,最终的完整工程如下: pom.xml如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem