webservice jar包_springboot 官方例子--调用SOAP的Webservice服务

继续翻译:本指南将指导您使用Spring使用基于SOAP的Web服务。您将构建一个客户端,该客户端使用SOAP从基于WSDL的Webservice服务获取国家数据。您将能够根据某个国家的名称查询该国家的数据。

SOAP(简单对象访问协议)是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息,采用了两个协议:HTTP 和XML(标准通用标记语言下的一个子集)。HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。

我利用业余时间,翻译了Spring官网的例子,方便中文不好的同学,将陆续发到头条上,欢迎大家关注,也可以上我个人BLOG:itmanclub.com,上面有已经翻译过的。

f093f6e585c940768fb4b25dc6bec308.png

程序结构

└── src └── main └── java └── hello

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework gs-consuming-web-service 0.1.0org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASE1.8org.springframework.boot spring-boot-starter org.springframework.ws spring-ws-core org.springframework.boot spring-boot-maven-plugin org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.12.3generateWSDLhello.wsdlhttp://localhost:8080/ws/countries.wsdl

Spring Boot将会你做如下的事:

  • 将 classpath 里面所有用到的jar包构建成一个可执行的 JAR 文件,方便执行你的程序
  • 搜索public static void main()方法并且将它当作可执行类
  • 根据springboot版本,去查找相应的依赖类版本,当然你可以定义其它版本。

在本地运行目标Web服务

按照指南中的步骤操作,或者只拷贝存储库并从其完整目录运行服务(例如,使用mvn spring-boot:run)。您可以通过在浏览器中访问http://localhost:8080/ws/countries.wsdl来验证是否有效。

生成基于WSDL的域对象

SOAP Web服务的描述写在WSDL中。JAXB提供了一种从WSDL(或更确切地说,在WSDL的节中包含的XSD)生成Java类的简单方法。本次国家查询服务的WSDL可以在http://localhost:8080/ws/countries.wsdl上找到。

要从Maven中的WSDL生成Java类,需要在pon.xml中增加如下设置:

org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.13.1generateWSDLhello.wsdlhttp://localhost:8080/ws/countries.wsdl

此安装程序将为在指定的URL上找到的WSDL生成类,并将这些类放入hello.wsdl包中。

要对Gradle执行相同的操作,您的构建文件中将需要以下内容:

task genJaxb { ext.sourcesDir = "${buildDir}/generated-sources/jaxb" ext.classesDir = "${buildDir}/classes/jaxb" ext.schema = "http://localhost:8080/ws/countries.wsdl" outputs.dir classesDir doLast() { project.ant { taskdef name: "xjc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值