2、新建项目

进入File > New Project…菜单打开新建项目窗口,依次选择Java、WebServices,Version项选择Apache Axis,Libraries项选择 Download。然后点击Next按钮进入下一页。

在下一页中输入项目名称,然后点击Finish按钮开始下载依赖包。依赖包下载完成后进入新建的项目。

3、项目初始结构

src/example目录下自动创建了一个 HelloWold 类:

package example;/**

* Created by Administrator on 2015/7/30.

*/

public class HelloWorld {

public String sayHelloWorldFrom(String from) {

String result = "Hello, world, from " + from;

System.out.println(result);

return result;

}

}

web/WEB-INF目录下创建一个server-config.wsdd服务配置文件。

4、生成 WSDL 文件

在HelloWorld.java文件上点击右键,选WebServices > Generate Wsdl From Java Code 。

然后在出现的窗口里点击确定按钮。

在HelloWorld.java所在目录会生成一个HelloWorld.wsdl文件。

5、启动服务

启动服务这里稍微有点复杂,因为要配置 Tomcat 服务器。先喝口茶再继续往下看。

选择Run > Edit Configurations…菜单,打开Run/Debug Configurations窗口。

在Run/Debug Configurations窗口里添加+按钮,在出现的菜单里选择Tomcat Server > Local。如果看不到Tocmat Server菜单项,则点击最下面的29 items more (irelevant)…菜单项查找。

然后在添加的Tomcat Server配置页面中添加配置的Name、Application server和HTTP Port。如果Application server为空,将本地的 Tomcat 安装地址添加进来。如果本地没有,从网上下载 Tomcat 7:

这时配置页面底部可能会显示有Warning:No Artifacts marked for deployment(警告:没有标记要部署的产物)。

点击警告信息右侧的Fix…按钮切换到Deployment标签页。

在Deployment标签页点击Deploy at the server startup区的+按钮,选择Artifacts

添加 Artifact 后的界面如下,已经没有警告了。点击OK完成运行参数的配置。

到这个时候,然后可以运行起服务了,但是访问服务页面时还是会报错。因为还要给部署的 Artifact 添加 Apache Axis 包的依赖。

选择File> Project Structure…菜单。

在出现的窗口中选择Project Settings > Artifacts,会到在新的警告信息。点击警告信息右侧的Fix…按钮。

在弹出菜单里选择Add 'JAX-WS-Apache Axis' to the artifact。

修复完成后警告消失。

点击工具栏上的运行或调试按钮运行服务。

然后在浏览器里输入:

访问结果如下:

6、从 WSDL 文件生成服务端代码

WSDL 文件可以用来生成客户端代码,也可以用来生成服务端代码。客户端代码用于访问远程服务,服务端代码用于提供远程服务。在 IntelliJ IDEA 里这两个操作是类似的。这里主要讲述服务端代码的生成。

一个 WSDL 文件对应一个 JAVA 类,比如前面的HelloWorld.wsdl文件对应HelloWorld.java。复杂的 WSDL 文件除了对应有一个主类外,还会有辅助类,比如主类方法中使用到的 Bean 等。

这里假设要将主类生成到 services 包目录下,那么在src/services(没有的自己创建一个)目录上点击右键,在出现在的菜单中选择WebService > Genarete Java Code From Wsdl…:

在出现的窗口是选择远程 WSDL 的地址,或者选择本地的 WSDL 文件,然后选择Output mode(输出模式)。这里作者选择成功server生成服务端代码, 用于对外提供服务。当然也可以选择client生成客户端代码用于访问远程服务。

下面是电信 TSM WebService 的 WSDL 文件生成的代码文件列表:

点击OK按钮后生成对应的文件。其中包含一个名为deploy.wsdd的文件,将该文件中的service标签复制到web/WEB-INF/service-config.wsdd文件的标签下,用于对外发布。

运行项目的结果如下:

7、输出 WSDL 文件

如果手动写的service-config.wsdd文件,可能不能访问 WSDL 文件。这个时候可以在server-config.wsdd文件的标签下手动添加标签。内容如下:

...

idea启动webservice_idea 开发webService相关推荐

  1. java开发webservice的几种方式

    为什么80%的码农都做不了架构师?>>>    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis ...

  2. java webservice 依赖_java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  3. Cxf + Spring3.0 入门开发WebService

    转自原文地址:http://sunny.blog.51cto.com/182601/625540/ 由于公司业务需求, 需要使用WebService技术对外提供服务,以前没有做过类似的项目,在网上搜寻 ...

  4. 用axis开发webservice实践

    什么是SOAP? SOAP是一个基于XML的用于应用程序之间通信数据编码的传输协议.最初由微软和Userland Software提出,随着不断地完善和改进,SOAP很快被业界广泛应用. 什么是Axi ...

  5. Java学习笔记——Java6开发WebService进阶

    在上文中,使用Java6做了一个最简单的WebService服务的实现,并通过Java6API发布了该服务. 在本文中,将看到如何使用Java6来做一个WebService服务,并如何使用Java6提 ...

  6. WEBSERVICE之JDK开发webservice

    转自:https://www.cnblogs.com/w-essay/p/7357262.html 一.开发工具与环境 1. jdk1.6版本以上(jdk1.6.0_21及以上版本) 2 .eclip ...

  7. Java开发WebService(使用Java-WS)

    前言: 初学Java,因为工作需要,直接跳到开发WebService.以前用.NET开发过WebService,对比一下,Java的WebService开发部署难度高了不止一个档次.网上的教程各式各异 ...

  8. 用xfire开发webservice实例

    http://sailinglxg.iteye.com/blog/173679 用xfire开发webservice总结 本实例是以简单的加减法(a+b和a-b)运算实现用xfire开发webserv ...

  9. Java6上开发WebService

    Java6上开发WebService 2010-01-23 16:19:00 标签:Java6 WebService 休闲 职场 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 近日 ...

最新文章

  1. SLAM精度测评——EVO
  2. 行走在泰国的7天8夜(曼谷篇-汤姆吉普森故居·四面佛·美食篇)
  3. TranslateMessage ,GetMessage, DispatchMessage分析
  4. .NET Core 仿魔兽世界密保卡实现
  5. python复现感知机的二分类算法
  6. WCF 第五章 行为 事务之选择一个事务协议-OleTx 或者WS-AT
  7. 爬虫cookie过期_【Python】Scrapy爬虫框架之Request和Response
  8. DHCP Snooping,Dynamic ARP Inspection实现
  9. 项目总结 【电商后台管理系统】
  10. 在iOS微信里如何自动播放
  11. android 日语输入法,Android日语输入法Simeji使用示例
  12. 【Web基础】用户登录注册案例
  13. 图形学中4x4矩阵的理解
  14. 漫谈 | 从52个思考题来看《Linux内核设计的艺术》
  15. AMD的复兴之路 发力ARM服务器芯片
  16. 一个java游戏有各种天书三国,机号申请的网络游戏,天书九卷,这游戏是免 的,里...
  17. PyCharm远程开发调试
  18. 七.【Python3.8+Django3.0从零开始系列】Django3.0+Python3.8连接MySql8.0及遇到的问题解决
  19. 常见机器学习算法优缺点总结
  20. QGIS 自动化地理信息系统,通过 Python 插件实现 QGIS 自动化

热门文章

  1. 最快的办法解决nvidia控制面板打不开的问题
  2. 2021.11.21【读书笔记】丨生物信息学与功能基因组学(第五章 高级数据库搜索 中 )
  3. 支付宝直付通实现合单支付完整Demo
  4. 研究生待遇超好的院校!你知道吗?
  5. 基于STC89C52的土壤酸碱度采集并在LCD显示
  6. #435 津津有味:为了多活几年,人类终于对粗杂粮下手了
  7. Linux|centos7|终端录屏神器asciinema的部署和初步使用
  8. 我的世界怎么修改服务器刷怪率,《我的世界》地图刷怪率变高方法详解
  9. python使用作为转义字符_当需要在字符串中使用特殊字符时,Python使用作为转义字符的起始符号...
  10. 《操作系统》课程心得体会