码迷,mamicode.com
首页 > 其他好文 > 详细

jws 问题总结

时间:2018-07-15 23:24:34      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:cli   jdk1.8   端口   ima   使用   serve   tty   jdk7   应该   

问题1.wsimport不是内部或外部命令

今天执行wsimport时报了wsimport报了不是内部或外部命令的错误,第一反应是检查环境变量,没发现什么问题,执行java  -version也正常,突然想起

上次为了测试maven似乎改动了JAVA_HOME的值,于是把G:\java\jdk\jre改为G:\java\jdk,重新执行wsimport后正常,出现这种错误第一反应就应该是环境

变量的问题,即使你像我一样测试java -version正常也不能掉以轻心,网上还有种说法是和你的环境变量配置成用户变量会导致如题的错误,亲测没有半毛钱

关系.

 

问题2:404问题

我操作的时候碰到了一个奇怪的问题,输入ip:端口/xxx?wsdl可以正常访问,然而ip:端口/xxx就404,最后发现是jdk版本的问题,把server端与clicent端均换成

jdk7就可以正常访问了(注意两端都要更换),使用jdk8访问wsdl文件没问题,但是访问ip:端口/xxx就会404

 

问题3:soap1.2的问题

如果使用jdk1.7并在server端接口的的实现类上使用@BindingType(SOAPBinding.SOAP12HTTP_BINDING)注解即指定使用soap1.2那么会报如下错误

技术分享图片

解决方法添加jaxws-ri.jar即可,但如果使用jdk1.8就不会出现这个问题了

 

问题4:设置的代理不显示请求与回复的内容,但是可以通过代理正常访问到wsdl文件

遇到这种情况,最大的可能性就是你的client请求服务时没有使用你设置的代理,先在你的wsdl文件最下面找到service节点,查看其name,然后去你的开发工具中

找到与service节点的name同名的java文件,在那个文件中把地址修改为你设置的代理地址(有两处需要修改)

 

问题5:@WebService的endpointInterface属性的作用

此属性并非必须,设置此属性的值为接口的全限定名时,在生成的wdsl文件中的porttype下的operation节点中就只会出现接口中定义的public方法

如果不使用这个属性,在生成的wsdl文件中不仅会出现接口的public方法,还会额外出现实现类自己定义的public方法,或者理解为实现类的全部public方法集

还有一种情况是把这个属性的值设置为本实现类自身的全限定名时,如你所料,此时在wsdl文件中发布了本来全部的public方法

事实上@WebMethod也并非必须的注解,只要在某个类或者接口上使用@WebService注解其下的public方法都会被发布

 

先写这么多吧,后面如果还有再补充

jws 问题总结

标签:cli   jdk1.8   端口   ima   使用   serve   tty   jdk7   应该   

原文地址:https://www.cnblogs.com/tele-share/p/9314796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!