好久没法技术博客了,最近接触开发多了许多,又有新总结发给遇到问题的老铁们。

大家可能都知道使用JDK中自带的wsimport命令把WSDL文件或URL直接转换成JAVA客户端代码,以实现快速开发。

如下:

wsimport -keep "mywsdlfile.xml" -p com.zeng.test

可是我最近总是遇到无法生成service类文件,这个类继承于javax.xml.ws.Service。百思不得其解,看了老半天,发现控制台有warning,

[WARNING] Ignoring SOAP port "WorkOrderManagerPort": it uses non-standard SOAP 1.2 binding.

You must specify the "-extension" option to use this binding.

  line 88 of file:/C:/Users/xxxx/xxxx_1623774202.xml

[WARNING] Service "WorkOrderManagerService" does not contain any usable ports. try running wsimport with -extension switch.

  line 87 of file:/C:/Users/xxx/xxxx_1623774202.xml

 原来是因为客户给的是SOAP 1.2版本的wsdl文件,需要加-extension

既然wsimport知道我是用这个版本,干脆直接帮加上得了,然后出个warning不是更好吗,咳!浪费大家的时间。

改成下面命令,搞定:

wsimport -keep "mywsdlfile.xml" -p com.zeng.test -extension

 如果WSDL是一些老系统给的,很可能会有类似问题,自己看看控制台的输出,有惊喜。

 

posted on 2021-05-02 07:57  烂人  阅读(551)  评论(0编辑  收藏  举报