开发准备
jdk1.8
IntelliJ IDEA 2024.1.4
apache-tomcat-9.0.46
安装依赖插件
1、点击file -> Settings,如下图:

2、点击Plugins,输入web service,分别安装Spring Web Services、Jakarta EE: Web Services (JAX-WS)、Jakarta EE: RESTful Web Services(JAX-RS)(一般idea已经安装该插件),点击install,安装插件完成以后,点击Apply、ok。

3、创建一个java项目,本示例是创建的maven项目(idea的maven相关配置,自行搜索),点击file -> New->Project,如图所示:

4、第三步完成后,会出现以下界面,输入项目名称(name),项目存放路径(Location),选择Maven,选择对应的jdk版本,点击create

5、打开新创建的项目,一定需要选中到test 的项目名称上,然后再点击Help->Find Action,不选中test 项目上,第6步会出现找不到 Add Framework Support 选项:

6、检索Add Framework Support,点击如下图:

7、弹出如下界面,选择Web Application、Webservices,点击ok

8、等项目加载完成以后,会多一个example 包,下面有个HelloWorld.java的样例,点击HelloWorld 文件,依次点击Tools->Xml WebServices and WSDL->Generate WSDL From Java Code.

9、第八步执行结束以后,出现以下界面,点击OK

10、第九步执行结束以后,HelloWorld同级目录会出现3个新增文件,如下图:

11、添加部署,点击如图所示

12、添加tomcat部署


13、配置完tomcat路径,点击ok以后,会出现如下图的提示,点击Fix.

14、点击完Fix,出现以下界面
拖动滚动条到最下面,配置Application Contet ,本实例填写的是/test,该配置会决定当tomcat启动以后,访问路径ip:端口+这里配置的Application Contet , 点击Apply、OK。

15、重点注意事项,项目要正常运行还需要配置以下内容,如图示:



点击Apply 、OK
16、运行项目


17、访问http://localhost:8080/test/services/HelloWorld?wsdl,验证webservice服务。

关键节点
第5到第9 一定要确保正确
第15 步一定需要操作,服务才能正常工作
关于访问路径的问题
关于访问地址:http://localhost:8080/test/services/HelloWorld?wsdl,有些人好奇 /test是tomcat配置的,那为什么访问路径后面要添加一个services呢?真相请看项目的web.xml配置:
情况一:第七步如果是基于Glassfish/JAX-WS 2.2 RI/Metro 1.X/JWSDP 2.2 生成的web service,请在web.xml查看
<servlet>
<description>JAX-WS endpoint</description>
<display-name>WSServlet</display-name>
<servlet-name>WSServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WSServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
情况二:第七步如果是基于Apache Axis 生成的web service,请在web.xml查看
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
请看url-pattern 配置添加了一层访问路径
671

被折叠的 条评论
为什么被折叠?



