IDEA根据wsdl生成java代码(Generate Java Code from WSDL)以及乱码问题的解决

news2024/11/24 11:53:16

目录

一、根据wsdl生成java代码

1、创建待存放java代码的目录,点击“帮助”=>“查找操作”,打开查找窗口;

2、输入wsdl并查找,点击“从WSDL生成Java代码”,打开新的窗口;

3、选择wsdl文件,并选择输出路径,点击确定即可生成java代码。

二、解决乱码问题

乱码原因:

解决方法:

1、将乱码的文件夹设置为GBK,保证文件夹下的文件再打开不会显示乱码:

2、选择某个GBK文件,点击IDEA右下角GBK,改为UTF-8,在弹出框里选择“转换”;

3、将文件夹下所有文件改为UTF-8之后,再在“设置”里将文件夹的文件编码由GBK改为UTF-8,即达到将该目录下全部GBK文件转为UTF-8文件,,并且用IDEA打开也不再乱码。

 4、可借助EmEditor文本编辑器批量将GBK转为UTF-8,使用EmEditor打开全部待转编码的文件,然后点击“文件”=>“以指定编码全部保存”。

5、终极解决办法:

6、wsimport.exe常用命令组合


一、根据wsdl生成java代码

        看了很多博文都是在Tool里有个WebServices,我的IDEA是2021版,工具菜单下没有WebServices。好像是较新的版本都没有。

不用太纠结这个问题,参考以下步骤可实现相同功能:

1、创建待存放java代码的目录,点击“帮助”=>“查找操作”,打开查找窗口;

2、输入wsdl并查找,点击“从WSDL生成Java代码”,打开新的窗口;

3、选择wsdl文件,并选择输出路径,点击确定即可生成java代码。

二、解决乱码问题

乱码原因:

        乱码是因为文件编码不一致,Win10默认字符编码为936(GBK),导致IDEA根据wsdl生成的java文件编码为GBK,而如果IDEA设置了全局/项目编码为UTF-8,这时打开文件就会乱码。

解决方法:

        可修改IDEA配置,单独将乱码文件配置为GBK也能解决乱码问题,但是文件太多时很不方便。可借助EmEditor文本编辑器统一将所有选中的GBK文件转为UTF-8。

具体解决步骤如下:

1、将乱码的文件夹设置为GBK,保证文件夹下的文件再打开不会显示乱码:

2、选择某个GBK文件,点击IDEA右下角GBK,改为UTF-8,在弹出框里选择“转换”;

3、将文件夹下所有文件改为UTF-8之后,再在“设置”里将文件夹的文件编码由GBK改为UTF-8,即达到将该目录下全部GBK文件转为UTF-8文件,,并且用IDEA打开也不再乱码。

 4、可借助EmEditor文本编辑器批量将GBK转为UTF-8,使用EmEditor打开全部待转编码的文件,然后点击“文件”=>“以指定编码全部保存”。

5、终极解决办法:

        修改Windwos系统默认字符编码,由GBK改为UTF-8。

参考地址:

win10怎么设置系统默认编码为UTF-8

理想很丰满,现实很骨感,改了系统默认编码后根据wsdl生成的java代码还是有乱码。

继续往下看...

继续研究,IDEA默认使用的生成工具,就是JDK文件夹bin目录下“wsimport.exe”工具。

这个wsimport.exe工具生成代码时,不是取的系统当前字符编码,而是统一默认为GBK(估计和当前系统语言还是有一定关系的,至少知道是简体中文)。

所以要想自动生成的文件编码为UTF-8,需要在执行命令时,加上字符集。

打开命令提示符窗口,cd进入wsimport.exe所在路径,执行如下命令:

wsimport -encoding utf-8 -keep -s D:\temp -p com.lawyer.user -verbose http://服务地址?wsdl  

参数说明:

-encoding : 指定编码格式

-keep:是否生成java源文件

-d:指定.class文件的输出目录

-s:指定.java文件的输出目录,   此目录必须存在

-p:定义生成类的包名,不定义的话有默认包名

-verbose:在控制台显示输出信息

-b:指定jaxws/jaxb绑定文件或额外的schemas

-extension:使用扩展来支持SOAP1.2

6、wsimport.exe常用命令组合:

wsimport -encoding utf-8 -s D:\demo -p com.packagename -verbose D:/wsdl/test.wsdl

以UTF-8编码生成,且只生成.java文件,不生产.class文件,生成类的包名为“com.packagename”,在控制台显示输出信息,wsdl文件为“test.wsdl”。

报以上错误是因为没有使用管理员打开cmd。

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

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

相关文章

LeetCode 2.两数相加

原题链接 难度:middle\color{orange}{middle}middle 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表…

工作记录------lombok中@Data包含哪些功能?

工作记录------lombok中Data包含哪些功能? 在实体类中加上Data后,实体类有哪些增强? Data public class BaseProcedure {TableId(value "id", type IdType.ASSIGN_UUID)private String id;private String procedureCode;写上Da…

字节青训营——秒杀系统设计学习笔记(二)

一、两次MD5加密设计 加密:出于安全考虑 第一次 (在前端加密,客户端):密码加密是(明文密码固定盐值)生成md5用于传输,目的,由于http是明文传输,当输入密码若…

Linux进程线程管理

目录 存储管理 linux内存管理基本框架 系统空间管理和用户空间管理 进程与进程调度 进程四要素 用户堆栈的扩展 进程三部曲:创建,执行,消亡 系统调用exit(),wait() 内核中的互斥操作 存储管理 linux内存管理基本框架 系统空间管理…

sql手工注入练习拿flag

sql手工注入练习拿flag 记录一下自己重新开始学习web安全之路⑤。 1、找注入点 ①url ②搜索框 ③登录框 2、找交互点 用单引号判断是否存在交互点,发现回显不正常,说明url存在有交互点 3、判断类型(char类型) 利用and 11 和…

Linux Shell脚本讲解

目录 Shell脚本基础 Shell脚本组成 Shell脚本工作方式 编写简单的Shell脚本 Shell脚本参数 Shell脚本接收参数 Shell脚本判断用户参数 文件测试与逻辑测试语句 整数测试比较语句 字符串比较语句 Shell流程控制 if条件判断语句 单分支 双分支 多分支 for循环语句…

第五章.与学习相关技巧—参数更新的最优化方法(SGD,Momentum,AdaGrad,Adam)

第五章.与学习相关技巧 5.1 参数更新的最优化方法 神经网络学习的目的是找到使损失函数的值尽可能小的参数,这是寻找最优参数的问题,解决这个问题的过程称为最优化。很多深度学习框架都实现了各种最优化方法,比如Lasagne深度学习框架&#xf…

Vue中使用天地图

Vue项目引入天地图 在vue的静态资源目录下的index.html中引入天地图的底图&#xff0c;开发天地图源码路径&#xff1a;天地图API 方法一&#xff1a;加载天地图&#xff0c;引用&#xff1a;public/index.html <script type"text/javascript" src"http:/…

来来来,手摸手写一个hook

hello&#xff0c;这里是潇晨&#xff0c;今天就带着大家一起来手写一个迷你版的hooks&#xff0c;方便大家理解hook在源码中的运行机制&#xff0c;配有图解&#xff0c;保姆级的教程&#xff0c;只求同学一个小小的&#x1f44d;&#xff0c;&#x1f436;。 第一步&#xf…

【软件测试】团队测试技术体现,遇到不可复现bug处理方式......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试技术带来的是PP…

ThingsBoard-规则链-check alarm status

1、概述 从今天开始,专门讲解ThingsBoard的规则链,每一个节点都会详细讲解,并且配套案例,让大家都能理解,喜欢请点个关注。今天讲的是筛选器的第第一个节点【check alarm status】,意思是检测告警状态。 2、节点理解 2.1、概述 【check alarm status】节点如图所示:…

解立方根-蓝桥杯

题目 分析 主要是运用二分法使复杂度减低。 代码 #include<iostream> #include<iomanip> #include<cmath> using namespace std; #define double long double const double eps 1e-12; int main() {int T 1;cin >> T;while (T--){double n;cin &g…

LMS 最佳实践:学习管理系统中的知识管理!

企业需要在整个组织中收集、存储和传播知识。我们被信息淹没了&#xff0c;因此应该充分利用学习管理系统&#xff08;LMS&#xff09;来组织业务资产并支持知识管理&#xff08;KM&#xff09;战略。LMS 不仅仅是一个捕获电子学习单元和多项选择题的系统。它很可能没有充分发挥…

代码随想录算法训练营第二十八天 | 491.递增子序列,46.全排列,47.全排列 II

一、参考资料递增子序列题目链接/文章讲解&#xff1a;https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1EG4y1h78v 全排列题目链接/文章讲解&#xff1a;https://programmercarl.…

从零学架构-基础部分

一、架构的基础将学习的架构设计知识总结出来&#xff0c;分享给大家。1.1什么是架构架构和框架是什么关系&#xff1f;有什么区别?Linux有架构&#xff0c;MySQL有架构&#xff0c;JVM也有架构&#xff0c;应该关注哪个架构&#xff1f;金融有架构&#xff0c;支付有架构&…

【排序算法】数据结构排序详解

前言&#xff1a; 今天我们将讲解我们数据结构初阶的最后一部分知识的学习&#xff0c;也是最为“炸裂”的知识---------排序算法的讲解&#xff01;&#xff01;&#xff01;&#xff01; 目录1.排序的概念及其运用1.1排序的概念1.2排序运用2.常见排序算法的实现2.1 插入排序2…

Java 基础面试题——集合

目录1.Java 有哪些常用容器&#xff08;集合&#xff09;&#xff1f;2.Collection 和 Collections 有什么区别&#xff1f;3.List、Set、Map 之间的区别是什么&#xff1f;4.HashMap 的长度为什么是 2 的 N 次方&#xff1f;源码中是如何保证的&#xff1f;5.HashMap 和 Hasht…

ChatGPT 下一步,分配对象脱单有望

ChatGPT 火了&#xff0c;上一次这么热闹还是上一次……那时最紧俏的概念叫元宇宙。 混沌时期&#xff0c;鱼龙混杂。资本市场靠新故事造梦&#xff0c;科技巨头争相加入竞赛&#xff0c;也有脑子活泛的已经利用它的巨大热度搞上了小钱钱——活跃在某宝某鱼上&#xff0c;贩卖…

2023版Java面试汇总!全面对标阿里P7,学完,化身offer收割机

最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;本文主要是为了帮大家快速回顾Java中知识点&#xff0c;这套&#xff08;详细笔记/面试题&#xff09;它几乎涵盖了所有的Java技术栈面试题和答案&#xff0c;相信可以帮助大家在金三银四&#xff0c;最短的时间内用作学习和面…

基于微信小程序的优选驾考小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…