使用CXF开发Web Service服务

简介:

1、使用CXF开发Web Service服务端

1.1 开发一个Web Service业务接口,该接口要用@WebService修饰

(1)创建一个Java项目MyServer

wKiom1PlBUfC3RlPAAJcLKClvY8527.jpg

(2)在MyServer项目中创建一个接口HelloWorld

wKiom1PlBZDDXUNMAAGfkb4skIs760.jpg

1
2
3
4
5
6
package  com.xju.ws;
import  javax.jws.WebService;
@WebService
public  interface  HelloWorld {
String sayHello(String name);
}


1.2 开发一个Web Service实现类,实现类也需要用@WebService修饰

wKioL1PlB8PjrWuVAAJNdUJh04A915.jpg

1
2
3
4
5
6
7
8
9
10
11
package  com.xju.ws.impl;
import  javax.jws.WebService;
import  com.xju.ws.HelloWorld;
@WebService (endpointInterface =  "com.xju.ws.HelloWorld" , serviceName =  "HelloWorldWs" )
public  class  HelloWorldWs  implements  HelloWorld {
@Override
public  String sayHello(String name) {
// TODO Auto-generated method stub
return  null ;
}
}


1.3 使用Endpoint类的静态方法来发布WebService

wKioL1PlCe3giuerAAI1hhjTTHQ775.jpg

1
2
3
4
5
6
7
8
9
10
11
package  com.xju.ws.pub;
import  javax.xml.ws.Endpoint;
import  com.xju.ws.HelloWorld;
import  com.xju.ws.impl.HelloWorldWs;
public  class  ServerMain {
public  static  void  main(String[] args) {
HelloWorld hw= new  HelloWorldWs();
Endpoint.publish( "http://127.0.0.1:8080/test" , hw);
System.out.println( "发布成功" );
}
}

备注:在运行中必须添加CXF2.7运行库。

wKioL1PlDvnzBA2KAAP9ic6yLr8488.jpg


2 使用CXF开发Web Service客户端

2.1 调用CXF提供的wsdl2java工具,根据WSDL文件生成相应的Java代码

wKioL1PlDIvTYZLXAAJehfQhFjQ549.jpg

在DOS中进入当前项目的src目录下,如输入下命令:

    wsdl2java -frontend jaxws21 http://127.0.0.1:8080/test?wsdl

wKioL1Pnk1DQZc7aAAETs1NbIEc815.jpg

    备注:加入参数-frontend jaxws21,为了防止出现CXF自带的javax.xml.service 版本高过jdk的javax.xml.service时报错:构造函数 Service(URL, QName, WebServiceFeature[]未定义。


2.2 找到wsdl2java所生成类中,一个继承了Service的类,该类的实例当成工厂来使用

wKioL1PnlI-T17P2AAI1bkwAu3o014.jpg



2.3 调用Service子类的实例的getXxxPort方法,返回远程WebService代理

1
2
3
4
5
6
7
8
9
10
package  com.xju.publish;
import  com.xju.ws.HelloWorld;
import  com.xju.ws.impl.HelloWorldWs;
public  class  ClientMain {
public  static  void  main(String[] args) {
HelloWorldWs factory= new  HelloWorldWs();
HelloWorld hw=factory.getHelloWorldWsPort();
System.out.println(hw.sayHello( "yyq" ));
}
}

运行结果:

yyq,你好!现在时间是:Sun Aug 10 23:51:39 CST 2014


备注:此处也可以使用创建Web Service客户端的方法来创建。


     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1537678,如需转载请自行联系原作者








相关文章
|
15天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
26天前
|
网络协议 Java Nacos
nacos常见问题之在web界面 上下线服务时报错 400如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
29 0
|
26天前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
329 3
|
26天前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
26 7
|
1天前
|
JSON Java fastjson
Spring Boot 底层级探索系列 04 - Web 开发(2)
Spring Boot 底层级探索系列 04 - Web 开发(2)
11 0
|
1天前
|
安全 编译器 PHP
PHP 8.1版本发布:引领Web开发新潮流
PHP编程语言一直是Web开发的主力军,而最新发布的PHP 8.1版本则为开发者们带来了更多创新和便利。本文将介绍PHP 8.1版本的主要特性,包括更快的性能、新的语言功能和增强的安全性,以及如何利用这些功能来提升Web应用程序的质量和效率。
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
13天前
|
安全 前端开发 Java
Java Web开发知识点学习总结
Java Web开发涉及Java基础、Servlet、JSP、数据库操作(SQL+JDBC)、MVC设计模式、Spring框架、Hibernate ORM、Web服务(SOAP&RESTful)、安全认证(HTTP Basic/Digest/OAuth)及性能优化(缓存、异步、负载均衡)。
15 3
|
16天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。

热门文章

最新文章