tomcate 发布 webservice

2024-05-13 14:08
文章标签 发布 webservice tomcate

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

[一]、构建项目

1mvn archetype:create -DgroupId=com.micmiu.jaxws.web -DartifactId=jaxws-web-demo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

转为 Eclipse web 项目:mvn eclipse:eclipse -Dwtpversion=1.0 导入Eclipse项目

创建配置相应的源目录、编译目录,目录结构如下:

D:\workspace_sun\jaxws-web-demo>tree /F
卷 work 的文件夹 PATH 列表
卷序列号为 2AF7-9BD9
D:.
│  .classpath
│  .project
│  pom.xml
│
├─.settings
│      .component
│      org.eclipse.jdt.core.prefs
│      org.eclipse.wst.common.project.facet.core.xml
│      org.maven.ide.eclipse.prefs
│
├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─micmiu
│  │  │          └─jaxws
│  │  │              └─demo2
│  │  │                  └─impl
│  │  │
│  │  ├─resources
│  │  └─webapp
│  │      │  index.jsp
│  │      │
│  │      └─WEB-INF
│  │              web.xml
│  │
│  └─test
│      └─java
└─target├─classes│  └─com│      └─micmiu│          └─jaxws│              └─demo2│└─test-classes

[二]、服务端编码

编码服务接口:HelloService.java

1package com.micmiu.jaxws.demo2;
2 
3import javax.jws.WebMethod;
4import javax.jws.WebParam;
5import javax.jws.WebService;
6import javax.jws.soap.SOAPBinding;
7import javax.jws.soap.SOAPBinding.Style;
8import javax.jws.soap.SOAPBinding.Use;
9 
10/**
11 *
12 * @author <a href="http://www.micmiu.com">Michael</a>
13 */
14@WebService(serviceName = "HelloWorldService")
15@SOAPBinding(style = Style.DOCUMENT, use = Use.LITERAL)
16public interface HelloService {
17    @WebMethod
18    String sayHello(@WebParam(name = "userName") String userName);
19}

服务接口的实现类:HelloServiceImpl.java

1package com.micmiu.jaxws.demo2.impl;
2 
3import javax.jws.WebService;
4 
5import com.micmiu.jaxws.demo2.HelloService;
6 
7/**
8 * blog http://www.micmiu.com
9 *
10 * @author Michael
11 */
12@WebService(endpointInterface = "com.micmiu.jaxws.demo2.HelloService")
13public class HelloServiceImpl implements HelloService {
14 
15    public String sayHello(String userName) {
16        return "Hi," + userName
17                + " welcome to JAX-WS see more http://www.micmiu.com ";
18    }
19 
20}

[三]、创建:sun-jaxws.xml

webapp/WEB-INF/ 下创建文件:sun-jaxws.xml

1<?xml version="1.0" encoding="UTF-8"?>
2<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
3    version="2.0">
4    <endpoint name="HelloWorldService" implementation="com.micmiu.jaxws.demo2.impl.HelloServiceImpl"
5        url-pattern="/helloworld" />
6</endpoints>

[四]、 配置:web.xml

修改web.xml 文件如下:

1<!DOCTYPE web-app PUBLIC
2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3 "http://java.sun.com/dtd/web-app_2_3.dtd" >
4 
5<web-app>
6    <display-name>JAX-WS+Web@ www.micmiu.com</display-name>
7    <listener>
8        <listener-class>
9            com.sun.xml.ws.transport.http.servlet.WSServletContextListener
10        </listener-class>
11    </listener>
12    <servlet>
13        <servlet-name>helloworld</servlet-name>
14        <servlet-class>
15            com.sun.xml.ws.transport.http.servlet.WSServlet
16        </servlet-class>
17        <load-on-startup>1</load-on-startup>
18    </servlet>
19    <servlet-mapping>
20        <servlet-name>helloworld</servlet-name>
21        <url-pattern>/helloworld</url-pattern>
22    </servlet-mapping>
23 
24</web-app>

[五]、添加依赖库

如果是maven构建,只需要在 POM.xml 中添加如下内容:

1<dependency>
2    <groupId>javax.xml.ws</groupId>
3    <artifactId>jaxws-api</artifactId>
4    <version>2.2.8</version>
5    <type>jar</type>
6    <scope>compile</scope>
7</dependency>
8<dependency>
9    <groupId>com.sun.xml.ws</groupId>
10    <artifactId>jaxws-rt</artifactId>
11    <version>2.2.6-2</version>
12    <type>jar</type>
13    <scope>compile</scope>
14</dependency>
15<dependency>
16    <groupId>org.glassfish.gmbal</groupId>
17    <artifactId>gmbal-api-only</artifactId>
18    <version>3.2.0-b003</version>
19    <type>jar</type>
20    <scope>compile</scope>
21</dependency>
22<dependency>
23    <groupId>org.glassfish.external</groupId>
24    <artifactId>management-api</artifactId>
25    <version>3.1.0-b001</version>
26    <type>jar</type>
27    <scope>compile</scope>
28</dependency>
29<dependency>
30    <groupId>org.jvnet.staxex</groupId>
31    <artifactId>stax-ex</artifactId>
32    <version>1.7</version>
33    <type>jar</type>
34    <scope>compile</scope>
35</dependency>
36<dependency>
37    <groupId>com.sun.xml.stream.buffer</groupId>
38    <artifactId>streambuffer</artifactId>
39    <version>1.5</version>
40    <type>jar</type>
41    <scope>compile</scope>
42</dependency>
43<dependency>
44    <groupId>com.sun.xml.ws</groupId>
45    <artifactId>policy</artifactId>
46    <version>2.3.1</version>
47    <type>jar</type>
48    <scope>compile</scope>
49</dependency>
50<dependency>
51    <groupId>com.sun.xml.bind</groupId>
52    <artifactId>jaxb-impl</artifactId>
53    <version>2.2.5</version>
54    <type>jar</type>
55    <scope>compile</scope>
56</dependency>

或者去官网: http://jax-ws.java.net/  下载相关的lib包。

[六]、验证服务发布

Eclipse中可以直接选择在 tomcat server(或Jetty)下启动项目:

....
2012-8-6 23:39:25 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized
信息: WSSERVLET12: JAX-WS 上下文监听程序正在初始化
2012-8-7 23:39:26 com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>
信息: WSSERVLET14: JAX-WS servlet 正在初始化
....

在浏览器中输入:http://localhost:8082/jaxws-web-demo/helloworld 

看到类似上述截图的内容,表示服务已经发布成功了。

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



http://www.chinasem.cn/article/985919

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

C++编程:ZeroMQ进程间(订阅-发布)通信配置优化

文章目录 0. 概述1. 发布者同步发送(pub)与订阅者异步接收(sub)示例代码可能的副作用: 2. 适度增加缓存和队列示例代码副作用: 3. 动态的IPC通道管理示例代码副作用: 4. 接收消息的超时设置示例代码副作用: 5. 增加I/O线程数量示例代码副作用: 6. 异步消息发送(使用`dontwait`标志)示例代码副作用: 7. 其他可以考虑的优化项7.1 立即发送(ZMQ_IM

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

Java中WebService接口的生成、打包成.exe、设置成Windows服务、及其调用、Apache CXF调用

一、Java中WebService接口的生成: 1、在eclipse工具中新建一个普通的JAVA项目,新建一个java类:JwsServiceHello.java package com.accord.ws;import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint;/*** Ti

Eclipse发布Maven项目到tomcat,无法加载到lib文件夹下的jar包

BMS 解决方法: 当我们发布web项目到tomcat时,访问地址时会报一个classnotfound的错误,但是eclipse中的项目中都已经添加了相应的类,有一种比较容易犯的错误是,你没有把额外所需的jar包加到tomcat中的lib文件夹中,在这里介绍一种在项目中直接添加jar包到lib目录下:  右键已创建的web项目——properties属性——点击Deployment Assem

1-3 微信小程序协同工作和发布

协同工作和发布 🥟🥞以权限管理需求为例 一个项目组,一般有不同的岗位,不同角色的员工同时参与项目成员 流程 成员管理的两个方面 不同项目成员对应的权限 版本

发布和查看探店笔记:

我的博客大纲 我的后端学习大纲 1.1.发布探店笔记: 此功能未用到redis a.数据库表: 1.探店相关表: b.探店有关接口: 1.图片上传和发布是调用了两个接口: 注意:修改图片上传的地址,建议直接放到你的Ngixn下的imgs目录 1.2.查看探店笔记: 此功能未用到redis a.需求说明: 1.点击探店首页的笔记,