WebService搭建

2024-09-04 03:58
文章标签 搭建 webservice

本文主要是介绍WebService搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天主要和大家分享搭建java版webservice,以及调用webservice遇到的一些坑<(^-^

 

注:网上有很多使用Eclipse构建webservice的教程,不过配置较麻烦,而且最后可能还访问不了。因此,此博客采用MyEclipse搭建。需注意一点,MyEclipse10及以下的支持不了pattern库,因此发布的项目如果包含java.util.regex.Pattern;则无法支持,这也是博主换IDE的原因。

开发环境:MyEclipse10,JAX-WS构建(容易使用),Tomcat 7

何为WebService?

它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。

 

关键的技术和规则

在构建和使用Web Service时,主要用到以下几个关键的技术和规则:

  1. XML:描述数据的标准方法.
  2. SOAP:表示信息交换的协议.
  3. WSDL:Web服务描述语言.
  4. UDDI:通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议.

下面具体说明一下:

XML

可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的 。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

SOAP

SOAP是web service的标准通信协议,SOAP为simple object access protocoll的缩写,简单对象访问协议. 它是一种标准化的传输消息的XML消息格式。

WSDL

WSDL的全称是web service Description Language,是一种基于XML格式的关于web服务的描述语言。其主要目的在于web service的提供者将自己的web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应的完全文档,发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求消息,通过HTTP传递给webservice提供者;web服务在完成服务请求后,将SOAP返回消息传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。

UDDI

将web service进行UDDI注册发布,UDDI是一种创建注册表服务的规范,以便大家将自己的web service进行注册发布供使用者查找.然而当服务提供者想将自己的web service向全世界公布,以便外部找到其服务时,那么服务提供者可以将自己的web service注册到相应的UDDI商用注册网站,目前全球有IBM等4家UDDI商用注册网站。因为WSDL文件中已经给定了web service的地址URI,外部可以直接通过WSDL提供的URI进行相应的web service调用。所以UDDI并不是一个必需的web service组件,服务方完全可以不进行UDDI的注册。

 

开始搭建webservice

前提:首先安装好MyEclipse2014,保证jdk环境配置好了,有tomcat服务器(没有也没关系,MyEclipse自带MyEclipse Tomcat 7,亲测好用,默认端口为8080)。

  • 创建发布webservice
  • 配置Tomcat
  • 部署项目并启动Tomcat服务器
  • 添加JAX-WS库
  • 测试webservice

创建发布webservice

新建Web Service Project

新建Web Service Project

然后填好信息并next

这里写图片描述

然后接下来一直next,可选择生成web.xml.

这是刚新建的项目结构

 

然后新建一类文件MyService.java

 

示例源码:

 
package inspur.cxy.webservice; 
import javax.jws.WebService;
@WebService
public interface MyService { public int add(int x,int y); public int dec(int x,int y); 
}

 

 

 

然后创建 WebServiceIml.java

示例源码
 
package inspur.cxy.webserviceIml; 
import inspur.cxy.webservice.MyService; 
import javax.jws.WebService; @WebService(endpointInterface="inspur.cxy.webservice.MyService") 
public class MyServiceImpl implements MyService { public int add(int x, int y) { System.out.println(x+"+"+y+"="+(x+y)); return x+y;} public int dec(int x, int y) { System.out.println(x+"-"+y+"="+(x-y)); return x-y; } 
}

 

 

 


接下来发布web service

这里写图片描述

选择从java类创建web service

 

选择访问的java class

这里写图片描述

 

生成WSDL(WSDL以上有介绍,不懂可以回去看)

这里写图片描述

发布后的项目结构如下

 

配置Tomcat

假定你需要使用自己本机Tomcat的情况下,教程如下:

Window-Preferences-MyEclipse-Servers-Tomcat

这里写图片描述

这里写图片描述

配置好后Apply-OK.

部署项目并启动Tomcat服务器

部署此项目到服务器

这里写图片描述

这里写图片描述

这里写图片描述

选择完后Finish

接下来启动Tomcat服务器

这里写图片描述

服务器已启动的图例

这里写图片描述

添加JAX-WS库

在项目的构建路径中添加库文件

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

测试webservice

输入URL,出现图式效果即为发布成功.

URL:http://localhost:8081/wcms/

 

 

创建客户端

 

新建一个项目作为客户端

 

项目结构如下:

 

使用wsimport生成本地调用代码:

 

打开命令框,输入cmd。使用wsimport生成客户端代码

 

wsimport -s (加上src的路径) -p (后面加上包路径) -keep (后面加上wsdl发布地址)

 

 

生成以后的项目结构为:

 

 

然后创建一个测试类testMain.java

 

 

运行输出结果如下:

 

至此一个WebService项目开发完成。

公众号,会不定时推送一些开发中碰到的问题的解决方法,以及会分享一些开发视频。资料等。公众号里有联系方式,大家可以一起交流分享开发中遇到的问题,以及总结的经验,请大家关注一下谢谢:







这篇关于WebService搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1134933

相关文章

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.