当前时间:

[pre] 一、在开始搭建程序之前先了解一下webservice一些基本概念:[br] 1、什么是 webservice:webservice是以Web(HTTP)方式, 接收和响应外部系统的某种请求。 从而实现远程调用。[br] 2、常用名词[br] 名词 1: XML. Extensible Markup Language -扩展性标记语言 XML, 用于传输格式化的数据, 是 Web 服务的基础。 namespace-命名空间。 xmlns=“http://offcn.com” 使用默认命名空间。 xmlns:offcn =“http://offcn.com”使用指定名称的命名空间。 [br] 名词 2: WSDL – WebService Description Language – Web 服务描述语言。 通过 XML 形式说明服务在什么地方-地址。 通过 XML 形式说明服务提供什么样的方法 – 如何调用。 [br] 名词 3: SOAP-Simple Object Access Protocol(简单对象访问协议) SOAP 作为一个基于 XML 语言的协议用于有网上传输数据。 SOAP = 在 HTTP 的基础上+XML 数据。 SOAP 是基于 HTTP 的。 SOAP 的组成如下: Envelope – 必须的部分。 以 XML 的根元素出现。 Headers – 可选的。 Body – 必须的。 在 body 部分, 包含要执行的服务器的方法。 和发送到服务器的数据。 [br][hr] [br] 二、开始使用CXF搭建一个简单的webservice程序,这里以我前段时间解析音乐接口为例[br] 官网地址: a(http://cxf.apache.org/)[http://cxf.apache.org/] [br] 1、创建Maven项目并导入依赖 [ypre] 4.0.0 com.happyyu MusicStory war 0.0.1-SNAPSHOT MusicStory Maven Webapp http://maven.apache.org 4.1.3.RELEASE 3.1.11 4.12 javax.xml.ws jaxws-api 2.2.11 org.apache.cxf cxf-rt-frontend-jaxws ${cxf.version} org.apache.cxf cxf-rt-transports-http ${cxf.version} org.springframework spring-web ${spring.version} org.springframework spring-tx ${spring.version} org.springframework spring-aspects ${spring.version} junit junit ${junit.version} test MusicStory [/ypre] 2、定义我们要调用的接口 img[https://yuqh.vip/FmyuOC5AVpsHm4iRW2kUPuSRUdBn] [ypre] 利用 @WebService 注解来声明这是一个 webservice 的接口。 [/ypre] 3、对我们的接口相应实现 img[https://yuqh.vip/Fs_b_w1CJVTX4FofBBsLRF7bc2yP] img[https://yuqh.vip/FhKdjHd0t8TQOCQh-XaUQ7eRezKX] 4、配置我们的Xml文件 [ypre] MusicStory cxf org.apache.cxf.transport.servlet.CXFServlet config-location classpath:cxf-servlet.xml cxf /service/* [/ypre] [ypre] 这里我们请求路径为service下 [/ypre] 5、配置cxf-servlet.xml路径为classpath下 [ypre] [/ypre] 6、运行发布我们的服务,服务地址为http://192.168.0.107:8080/MusicStory/service img[https://yuqh.vip/FhwdSc1BkrakLiyd_vJnsSyW4mFz] 7、客户端生成及调用 采用 wsimport 工具生成客户端代码: wsimport 是 jdk 自带的,可以根据 wsdl 文档生成客户端调用代码的工具.无论服务器端的 WebService 是用什么语言 写的,都将在客户端生成 Java 代码.服务器端用什么写的并不重要. wsimport.exe 位于 JAVA_HOME\bin 目录下. 常用参数为:-d<目录> - 将生成.class 文件。 默认参数。 • -s<目录> - 将生成.java 文件和 class 文件。 • -p<生成的新包名> -将生成的类, 放于指定的包下。 • (wsdlurl) - http://192.168.0.107:8080/MusicStory/service/musicStory?wsdl, 必须的参数。 在命令行下进入项目时间存储目录, 运行一下命令: D:/> wsimport -s src http://192.168.0.107:8080/MusicStory/service/musicStory?wsdl img[https://yuqh.vip/Fh01J1SZHqhHUgLYJ2OJiKfUU7Rv] img[https://yuqh.vip/FhmSqAgsC3jooFCmU-dMnG35oi3j] [br] [hr] [ypre] { "artist": "音乐故事", "cover": "http://singerimg.kugou.com/uploadpic/softhead/400/20160330/20160330192518403240.jpg", "lrc": "lrc", "name": "我在街上遇见了未来的自己", "url": "http://fs.w.kugou.com/201806192237/39844fba4043842956793c5b261f7d7b/G131/M0A/15/07/ww0DAFsPx8SAc9_VAO3izSaQzoQ748.mp3" } [/ypre] [/pre]

Webservice之搭建 CXF 服务器发布方式

推荐
WebService CXF
2 459
VIP3 2018-06-19 10:07:30
回复区