WebService入门介绍

参考文献:
https://blog.csdn.net/cs_hnu_scw/article/details/80181762

创建服务器webService

package com.william.TestWebService;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;@WebService
public class MyFirstWebService {/*** 定义webservice服务器中的方法* @param content* @return*/public String testWebService(String content){System.out.println("我收到了你发的信息:" + content);return "服务器:我转发信息给你";}public static void main(String[] args){//定义自己的webservice服务器发布的地址String address = "http://localhost:9191/MyFirstWebService"; //这个9191端口随便定义,只要不冲突即可//通过该方法进行发布Endpoint.publish(address, new MyFirstWebService());//打印一句话,表示一下服务器进行了开启System.out.println("my webservcie starting");}}

解析WebService服务器的内容

在这里插入图片描述
操作:在cmd命令行中执行:wsimport -s . http://localhost:9191/MyFirstWebService?wsdl
结果:这样的话,就会在你执行这句话的目录下面生成对应的服务器的代码(包括.class文件和.java文件)
在这里插入图片描述

创建客户端服务器webServiceClient

首先是把上面得到的代码中的.java文件(请注意,.class文件就不需要)拷贝到我们新建的一个客户端的java项目中

package com.william.testwebservice;import org.junit.Test;public class MyTestWebService {@Testpublic void testWebService(){//获取webservice服务器对象(这里的类名,其实是从wsdl文件中的servicename标签中进行获取的)MyFirstWebServiceService myFirstWebServiceService = new MyFirstWebServiceService();//获取到我们自定义的webservice的对象MyFirstWebService myFirstWebServicePort = myFirstWebServiceService.getMyFirstWebServicePort();//调用service服务器中的方法String receivedInfo = myFirstWebServicePort.testWebService("您好,webservice 服务器");//打印从服务器的方法中得到的返回值,测试表示收到了服务器返回的内容System.out.println("服务器返回的内容是:" + receivedInfo);		}
}

注意

在这里插入图片描述

QName调用方式

package com.william.testwebservice;import java.net.MalformedURLException;
import java.net.URL;import javax.xml.namespace.QName;
import javax.xml.ws.Service;import org.junit.Test;public class MyTestQNameWebService {@Testpublic void test() throws MalformedURLException{//创建一个连接(地址对应的就是webservice服务器中的地址)URL wsdlDocumentLocation = new URL("http://localhost:9090/MyFirstWebService?wsdl");//这个参数,主要是根据我们设定的webService的接口来进行的QName serviceName = new QName("http://TestWebService.william.com/","MyFirstWebServiceService");Service ws = Service.create(wsdlDocumentLocation , serviceName );//获取到调用的对象内容MyFirstWebService port = ws.getPort(MyFirstWebService.class);//方法的调用String result = port.testWebService("my name is scw");System.out.println(result);}
}

在这里插入图片描述
参考文献:
https://blog.csdn.net/cs_hnu_scw/article/details/80181762

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

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

相关文章

手游建筑美术资源_建筑商和机械手

手游建筑美术资源下面是命名的OOP方法,这我想在我的代码遵循一个简单的原则:这是一个动词 ,如果它操纵 ,这是一个名词 ,如果它的基础之上 。 而已。 两者之间什么都没有。 诸如saveFile()或getTitle()不适合使用&#…

MySQL二进制日志文件的用法_数据恢复

文章目录开启二进制日志功能关闭/打开二进制日志记录刷新二进制日志文件查看二进制日志文件的存储位置利用二进制日志文件恢复数据的本质二进制日志提取/导出到脚本文件中查看当前二进制日志的最后一个位置查看二进制日志文件的内容执行 SQL 脚本文件以恢复数据二进制日志分析指…

启动weblogic需要账号密码问题

<Server is Running in Production Mode and Native Library(terminalio) to read the password securely from commandline is not found.> 解决方法 在weblogic路径下创建 \weblogic11\user_projects\domains\base_domain\servers\AdminServer\security 目录下创建bo…

mysqlbinlog: [ERROR] unknown variable ‘default-character-set=utf8mb4‘

错误提示&#xff1a; [roothtlwk0001host ~]# mysqlbinlog /var/lib/mysql/mybinlog/mysql-bin.000004 mysqlbinlog: [ERROR] unknown variable default-character-setutf8mb4原因&#xff1a; mysqlbinlog 这个工具无法识别 binlog 中的配置中的 default-character-setutf8m…

Mybatis一对一结果映射

目录结构 创建数据库相应的表 一个账户对应一个用户 accout CREATE TABLE account (aid int(11) NOT NULL AUTO_INCREMENT,accountname varchar(20) DEFAULT NULL,money float(10,2) DEFAULT NULL,userId int(11) DEFAULT NULL,PRIMARY KEY (aid),KEY userId (userId),CONSTR…

lambda表达式java_Lambda表达式Java教程

lambda表达式java在本文中&#xff0c;我们提供了全面的Lambda Expressions Java教程。 1. Lambda Expressions Java教程–简介 Lambda表达式被认为是Java 8中引入的最好的功能之一。Lambda表达式被认为是Java进入函数式编程世界的第一步 。 可以将其视为无需类即可创建的函数…

MySQL命令之mysqlhotcopy -- 热备份

文章目录命令介绍命令格式安装 mysqlhotcopy常用选项命令介绍 mysqlhotcopy 只是简单的缓存写入和文件复制的过程&#xff0c;其使用 LOCK TABLES、FLUSH TABLES 和 CP 来进行快速备份,占用资源和备份速度比 mysqldump 快很多很多。特别适合大的数据库&#xff0c;但需要注意的…

trackby_使用trackBy启动流程

trackby仍然沿用我的Corda Services趋势&#xff0c;我还有其他一些技巧可帮助您的CorDapp顺利工作。 这次&#xff0c;我们将重点关注使用trackBy从服务内部启动流以及如果您不小心可能会引发的离散问题。 这应该是一个相对简短的职位&#xff0c;因为我可以依靠以前的职位&a…

SQL查询语句的排序

order by column1 asc, column2 desc -- 按column1升序排序&#xff0c;若column1值相同&#xff0c;则按column1降序排序asc&#xff0c;ascend 的缩写&#xff0c;表示正序&#xff0c;即升序&#xff0c;从小到大&#xff0c;可以省略&#xff0c;默认的 desc&#xff0c;de…

SpringBoot创建项目入门案例

目录结构 一、创建SpringBoot项目 1.创建骨架名称 2.给项目命名 3.配置pom.xml文件 4.MySql的驱动包 5.自动生成的pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xs…

apache spark_Apache Spark Job的剖析

apache sparkApache Spark是通用的大规模数据处理框架。 了解spark如何执行作业对于获取大部分作业非常重要。 关于Spark评估范式的简要介绍&#xff1a;Spark使用的是惰性评估范式&#xff0c;在该范式中&#xff0c;Spark应用程序在驱动程序调用“ Action”之前不会执行任何…

MySQL常用权限的解释

文章目录全局管理权限数据库/数据表/数据列权限特别的权限全局管理权限 FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表&#xff0c;刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限 ALTER: 修改已…

No identifier specified for entity没有为实体指定标识符

异常 ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘userController’: Injection of resour…

aws jenkins_Jenkins在AWS上(第1部分)

aws jenkins这是我对PEAT UK播客的逐字记录&#xff1a; 你好&#xff0c;再一次到另一个热点。 我叫Peter Pilgrim。 我曾经是DevOps专家&#xff0c;欢迎观看另一集。 这是11 Jenkins n AWS的第一部分&#xff0c;我是一名平台工程师&#xff0c;并且是Java Champion。 在…

SELECT ... FOR UPDATE_手动加行级排他锁_行级写锁_行级独占锁

文章目录介绍加锁情况分析明确指定主键&#xff0c;并且数据真实存在&#xff0c;锁定行明确指定主键&#xff0c;但数据不存在&#xff0c;不加锁主键不明确&#xff0c;锁定整个表无主键&#xff0c;锁定整个表应用场景介绍 1.FOR UPDATE 加的锁是一种行级排他锁&#xff0c…

广义表

广义表(广义表也称为列表&#xff0c;是线性表的一种推广&#xff0c;也是数据元素的有序序列) 一、基础 1.如何设定链表结点?广义表中的数据元素可能为单元素(原子)或子表&#xff0c;由此需要两种结点:一种是表结点&#xff0c;用以表示广义表;一种是单元素结点&#xff0c;…

数据库各种锁详解

文章目录排他锁共享锁更新锁意向锁锁的粒度数据库自动加锁手动加锁各种锁之间的兼容问题排他锁 Exclusive Locks&#xff0c;英译&#xff1a;排他锁&#xff0c;简称 X 锁&#xff0c;又称为写锁或独占锁。排他锁分为表级排他锁和行级排他锁。 如果事务 T1 对数据行对象 A 加…

activiti dmn_新的DMN编辑器预览

activiti dmnWorkbench 7.13.0.Final于10月16日星期二发布&#xff0c;此版本带来了许多有趣的功能和重要的修复程序。 亮点之一是作为技术预览功能的新DMN编辑器&#xff0c;该功能仍在开发中&#xff0c;但您可以开始使用。 在本文中&#xff0c;您将学习如何启用DMN编辑器预…

MySQL的索引存储数据结构BTree和B+Tree的区别

文章目录BTree 原理示意图BTree 原理示意图BTree的树层级很少BTree 可以高效支持范围查找BTree 原理示意图 注&#xff1a;BTree 就是 B-Tree&#xff0c;实际上官方并没有 B-Tree 的说法。 BTree 原理示意图 BTree的树层级很少 BTree 的数据存在每个节点中&#xff0c;所以每…

jdk11 javafx_JDK 11上的JavaFX

jdk11 javafx在JFX第11版发布后&#xff0c;人们对JavaFX与JDK的解耦感到百感交集。 我们许多人认为现在是时候告别JavaFX并改用另一种GUI技术了&#xff0c;而另一些人对此情况感到高兴。 他们认为&#xff0c;将JavaFX与Oracle分离开来&#xff0c;并致力于将其作为开源社区驱…