使用Maven的jaxws-maven-plugin插件,将wsdl生成java
1、准备一个标准的maven工程,将pom.xml修改成如下:
<pre name="code" class="xml"><?xml version="1.0" encoding="ISO-8859-1"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>TEST_WS</artifactId> <packaging>jar</packaging> <name>TEST WS</name> <version>1.0.0</version> <description> Web service </description> <properties> <!-- 这个目录用于存放生成后的JAVA,如果不存在就先创建好了 --> <genSource.dir>src/gen/java</genSource.dir> <!-- 指定bingding文件所在的目录,在这个示例中只指定了bindingDirectory,而没有指定bindingFile,那说明只要是这个目录下面的所有xml文件都会被使用 --> <!-- 使用帮助,参看:http://www.oracle.com/technetwork/articles/entarch/jax-ws-jaxb-customization-082750.html, http://jax-ws-commons.java.net/jaxws-maven-plugin/wsimport-mojo.html#bindingDirectory --> <jaxwsBing.dir>src/jaxws/testService</jaxwsBing.dir> <!-- WSDL及xsd文件所在的路径,只需要指明wsdl文件即可,因为wsdl文件中会引用到xsd --> <wsdlFile>testService/TestService.wsdl</wsdlFile> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxws-maven-plugin</artifactId> <version>1.12</version> <dependencies> <dependency> <artifactId>jsr181</artifactId> <groupId>javax.jws</groupId> <version>1.0</version> </dependency> </dependencies> <configuration> <destDir /> <!-- don't need .class files --> <extension>true</extension> <keep>true</keep> <sourceDestDir>${project.basedir}/${genSource.dir}</sourceDestDir> <target>2.1</target> <verbose>true</verbose> </configuration> <executions> <execution> <id>wsimport-IsatService</id> <phase>process-sources</phase> <goals> <goal>wsimport</goal> </goals> <configuration> <bindingDirectory>${project.basedir}/${jaxwsBing.dir}</bindingDirectory> <wsdlFiles> <wsdlFile>${wsdlFile}</wsdlFile> </wsdlFiles> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <artifactId>jaxws-api</artifactId> <groupId>javax.xml.ws</groupId> <scope>provided</scope> <version>2.1-1</version> </dependency> </dependencies></project>
2、在目录src/jaxws/testService下面准备好以下三个binging文件:
Global_jaxb.xml:
<?xml version="1.0" encoding="UTF-8"?><jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" version="2.0" jaxb:extensionBindingPrefixes="xjc"> <jaxb:globalBindings underscoreBinding="asCharInWord"> <jaxb:serializable uid="1" /> <xjc:simple /> </jaxb:globalBindings></jaxb:bindings>
TestService_jaxb.xml:
<?xml version="1.0" encoding="UTF-8"?><jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" schemaLocation="../../wsdl/testService/TestElement.xsd" node="/xsd:schema" version="2.0"> <jaxb:schemaBindings> <jaxb:package name="com.test.obj" /> </jaxb:schemaBindings></jaxb:bindings>
TestService_jaxws.xml:
<?xml version="1.0" encoding="UTF-8"?><jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" wsdlLocation="../../wsdl/testService/TestService.wsdl" version="2.0" jaxb:extensionBindingPrefixes="xjc"> <jaxws:bindings node="wsdl:definitions"> <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> <jaxws:package name="com.test.ws" /> </jaxws:bindings></jaxws:bindings>
3。在目录src/wsdl/testService下面准备TestService.wsdl及TestElement.xsd文件,内容分别如下,
TestService.wsdl:
<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="TestService" targetNamespace="http://test.com/TestService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://test.com/TestService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://test.com/TestService" schemaLocation="./TestElement.xsd"> </xsd:import> </xsd:schema> </wsdl:types> <wsdl:message name="testRequest"> <wsdl:part name="parameters" element="tns:testRequest"></wsdl:part> </wsdl:message> <wsdl:message name="testResponse"> <wsdl:part name="parameters" element="tns:testResponse"></wsdl:part> </wsdl:message> <wsdl:portType name="TestService"> <wsdl:operation name="test"> <wsdl:input message="tns:testRequest"></wsdl:input> <wsdl:output message="tns:testResponse"></wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="TestBinding" type="tns:TestService"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="test"> <soap:operation soapAction="" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TestService_Service"> <wsdl:port name="TestPort" binding="tns:TestBinding"> <soap:address location="http://localhost:8080/TestService/TestService_Service" /> </wsdl:port> </wsdl:service></wsdl:definitions>
TestElement.xsd:
<?xml version="1.0" encoding="UTF-8"?><schema targetNamespace="http://test.com/TestService" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://test.com/TestService"> <element name="testRequest"> <complexType> <sequence> <element name="USER_NAME" type="string"></element> </sequence> </complexType> </element> <element name="testResponse"> <complexType> <sequence> <element name="AGE" type="string" /> </sequence> </complexType> </element></schema>
4.执行命令mvn clean install,如果出现如下提现,则说明配置成功:
parsing WSDL...generating code...com\test\ws\TestService.javacom\test\ws\TestServiceService.javacom\test\obj\ObjectFactory.javacom\test\obj\TestRequest.javacom\test\obj\TestResponse.javacom\test\obj\package-info.java
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
使用Maven的jaxws-maven-plugin插件,将wsdl生成java相关推荐
- Protobuf生成Java代码(Maven)
1.说明 本文介绍Protobuf生成Java代码的方法, 配置对应的Maven插件, 把.proto文件生成Java代码. 2.插件配置 创建Maven工程grpc-compile, 修改pom.x ...
- YangTools从YANG生成Java类(Maven)
1.说明 ODL提供了Yang Tools工具从YANG文件生成Java类, 本文介绍使用Maven插件的方式生成, 基于yang-maven-plugin这个插件. 2.创建Maven工程 Ecli ...
- Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图
文章目录 前言 一.安装 Eclipse 官方提供的安装框架 GEF 1.1.Eclipse 中第三方插件更新/安装策略 1.2.为什么选择 GEF 框架? 1.3.GEF 框架安装 二.安装 Ama ...
- Maven构建生命周期和各种plugin插件
总揽生命周期(lifecycle) 一般构建项目时执行的最常用的命领是mvn clean install,如果是IDE就是点对应的按纽其实还是调的mvn命令,除非你使用的IDE内嵌的maven(不推荐 ...
- Maven 的 Maven Compiler Plugin 插件
当前 Maven Compiler Plugin 这个插件的版本为 3.10.1 你可以使用最新的版本. 我们今天主要说一下这个插件中 --release 参数 这个插件的配置方法如下: <?x ...
- 关于maven的plugin插件问题(踩坑)
关于maven的plugin插件问题(踩坑) 今天几乎花了一整天的时间来弄插件的问题 特此来复盘一下,没想到不起眼的plugin竟然困扰了我一天 文章目录 关于maven的plugin插件问题(踩坑) ...
- eclipse maven plugin 插件 安装 和 配置
本文转自:http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html maven3 安装: 安装 ...
- 深入理解maven构建生命周期和各种plugin插件
鄙人的新书<Elasticsearch权威指南>正式出版发行,欢迎购买!本书由华为.中兴高级技术专家全面审读并撰序,助您挑战百万年薪 购书链接: <Elasticsearch权威指南 ...
- Maven版本管理-Maven Release Plugin插件
一.什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基 ...
最新文章
- 「云毕业照」刷爆朋友圈!AI人脸融合技术谁家强?
- 用java线程绘制图案_关于多线程:使用线程在java中绘制面板
- python3 random函数_Python3 中 random模块
- 请求中文乱码_【1】执行Http请求访问网页
- angular学习的一些小笔记(中)之ng-disabled轻松实现按钮是否可点击状态
- secoclient隧道保活超时或协商超时_推荐:承德市隧道led大屏厂家电话【联丰智慧科技】...
- springcloud config配置中心概述
- Chirpy Zippy工具使用心得
- [导入]New ASP.NET Charting Control: asp:chart runat=server/
- gprof—Ubuntu中使用gprofile进行性能统计时没有数字结果
- 使用rem进行页面适配
- 看不懂JDK8的流操作?5分钟带你入门(转)
- atitit.提升开发效率---动态语言总结
- 一行代码值200万?充满哲学与禅意的border-radius
- 史上最全的 SQL 注入资料,收藏不谢
- LiveData 机制详解
- java基于springboot+vue的旅游心得分享攻略系统 elementui
- Java虚拟机面试问题
- 边框样式(border-style)、边框圆角(border-radius)以及媒体查询(@media)
- 毕业设计-基于DGA 恶意域名的检测算法
热门文章
- 论文解读丨文档结构分析
- #化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 Tomcat
- Forrester:华为云容器是容器混合云最佳选择
- html5boder属性,你未必知道的CSS小知识:border属性比你想象的要复杂
- mysql5.6 主从配置_CentOS7+mysql5.6配置主从
- Android 7.0判断栈顶Activity错误 几率显示为launcher
- python中列表和集合的区别_python中列表和集合有什么区别
- note_idea中的maven命令操作
- android搭建客户端,用Android搭建客户端 手机和服务器交互开发实例
- Idea创建包以及导入jar包等操作