利用IDEA创建Web Service服务端和客户端的详细过程

news/2024/11/16 3:24:40/文章来源:https://www.cnblogs.com/forestwolf/p/18429372

创建服务端

一、file–>new–>project

 

二、点击next后输入服务端名,点击finish,生成目录如下

三、在 HelloWorld.Java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定

点击ok会自动给我们生成HelloWorld.wsdl,画红线处注意

四、配置tomcat,此处不多说,主要是配置好tomcat后还需要加入 Axis 的库

点击右下角fix即可,重新启动 tomcat ,在浏览器中输入:http://localhost:8080/services ,出现如下信息,代表部署成功。

点击HelloWorld (wsdl)可看到相应的信息

至此,服务器端的Web Service就创建好了,下面我将继续讲解如何创建客户端的Web Service!

 

创建客户端:

一、file–>new–>project

 

 

输入客户端项目名,finish即可,项目创建成功会自动跳出如下界面,手动可以右键项目–>webService–>Generate Java Code From Wsdl 即可

 

 然后点击你的项目名称邮件 选择如下

导入之前创建的服务端的wsdl文件即可

点击ok,idea会帮我们生成好相对应的代码,测试类如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package example;
 
import com.HelloWorldServiceLocator;
import com.sun.corba.se.spi.activation.Activator;
 
 
public class HelloWorldClient {
  public static void main(String[] argv) {
      try {
          HelloWorldServiceLocator locator = new HelloWorldServiceLocator();
          Activator service = locator.get();
          // If authorization is required
          //((HelloWorldSoapBindingStub)service).setUsername("user3");
          //((HelloWorldSoapBindingStub)service).setPassword("pass3");
          // invoke business method
          service.businessMethod();
      catch (javax.xml.rpc.ServiceException ex) {
          ex.printStackTrace();
      catch (java.rmi.RemoteException ex) {
          ex.printStackTrace();
      
  }
}

  此时会有报错,HelloWorldServiceLocator类是由于没有导包按alt+enter导包即可,下面在进行一些代码修改

1
2
Activator service = locator.get();
  service.businessMethod();

  改成

1
2
HelloWorld_PortType service = locator.getHelloWorld();String str = service.sayHelloWorldFrom("sushan");
          System.out.println(str);

  此时运行客户端main方法还会报错,报错的原因是没有junit的jar包,我的做法是加入maven

此时运行客户端main方法还会报错,报错的原因是没有junit的jar包,我的做法是加入maven

具体步骤:

1.现在项目新建一个pom.xml(最好从已有的maven项目中粘贴过来)

2.关闭项目 删除最近打开历史 重新打开这个项目

3.显示是否变味maven项目 点击 是

然后在pom中加入依赖

1
2
3
4
5
<dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.12</version>
     </dependency>

  得到最后的结果为

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9.24上课记录

今日收获:可以用来阅读知网等 https://cajviewer.cnki.net

怎么去除URL地址中index.php文件?

PbootCMS内核框架采用单入口pathinfo方式,因此所有地址的访问默认都带有index.php, 要去除它很简单,只要开启伪静态即可扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网…

Win10系统复制、粘贴、新建、删除文件或文件夹后需要手动刷新的解决办法

有些win10系统可能会出现新建、粘贴、删除文件或文件夹后保持原来的状态不变,需要手动刷新,我这边新装的几个系统都有这个问题,已经困扰很久了,我从微软论坛和CSDN社区找了了很多方法都没解决,微软工程师给的建议包括重置资源管理器、修改注册表、用CMD修复等等,都没解决…

思导初识

今天的课程分为三部分的学习,一个是思维导图的制作,一个是pdf的转换以及二维码的生成。 通过本节课的学习,我们认识到了Xmind、亿图图示的思维导图制作软件,并初步进行了制作学习,作为第十一小组,我们选择了《海上日出》进行思导的制作。 此外,我们新学习了几个pdf转换的…

思维导图及课程笔记(2024/9/24)

使用思维导图让学习更高效,常用的思维导图软件有xmind, pdf转换工作有lightpdf、pdfcandy等, 可以使用CAJviewer看论文。 学习如何制作流程图, "草料二维码"工具,https://cli.im,可以制作二维码,输入网址生成二维码即可,手机扫描二维码可以直接跳转网页。

2思维导图

去水印的6种方法 pdf转换工具 CA全文浏览器是中国知网的专用全文格式阅读器,CA浏览器支持中国期刊网的CAPDF、KDH等多种格式文件阅读。并且它的打印效果与原版的效果一致。 LightPDF是一个向所有用户提供免费并安全的在线PDF工具网站。这些工具包括PDF转换、编辑等等。 PDFCan…

腾讯通升级迁移解决方案:兼容linux内核国产系统及移动端

一、继续使用RTX腾讯通面临的核心痛点 自RTX腾讯通停止更新和官网下架以来,用户不仅无法再获取技术支持和更新服务,还面临一系列影响日常使用的重大问题: 国产系统及移动端不兼容:RTX腾讯通仅适用于Windows和Mac系统,这使得在国产操作系统和移动设备上的使用成为难题,无法…

【全新课程】正点原子《ESP32物联网项目实战》培训课程上线!

正点原子《ESP32物联网项目实战》全新培训课程上线啦!正点原子工程师手把手教你学!通过多个项目实战,掌握ESP32物联网项目的开发! 一、课程介绍 本课程围绕物联网实战项目展开教学,内容循序渐进,涵盖了环境搭建、编程软件使用、模块基础驱动、物联网基础知识和多个实战项…

MySQL 函数的使用

目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间日期函数:所有的时间日期函数都是从完整的时间日期开始,根据需求进行截断; 例如需要时间,则只显示时间部分;需要日期就显示日期部分;获得年月日:select current_date(); +----------------+| current_date() | +---…

尚硅谷-flink

一、介绍 1.简介flink是一个开源的分布式流处理框架优势:高性能处理、高度灵活window操作、有状态计算的Exactly-once等详情简介,参考官网:https://flink.apache.org/flink-architecture.html中文参考:https://flink.apache.org/zh/flink-architecture.htmlflink组件介绍:…

pbootcms网站是使用sqlite数据库好还是使用mysql数据库好

选择在PbootCMS网站上使用SQLite数据库还是MySQL数据库取决于几个因素,包括但不限于网站规模、预期的访问量、并发需求以及维护成本等。以下是两者的对比: SQLite架构:SQLite是一种嵌入式的关系型数据库管理系统,它不需要单独的服务器进程或系统。 适用场景:适用于小型应用…