jws 问题总结
问题1.wsimport不是内部或外部命令
今天执行wsimport时报了wsimport报了不是内部或外部命令的错误,第一反应是检查环境变量,没发现什么问题,执行java -version也正常,突然想起
上次为了测试maven似乎改动了JAVA_HOME的值,于是把G:\java\jdk\jre改为G:\java\jdk,重新执行wsimport后正常,因为jre目录下的bin中没有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方法都会被发布
先写这么多吧,后面如果还有再补充
最新文章
- WPF 自定义Grid双击事件
- QGis、Gdal本地中文路径问题
- C语言 · 寻找数组中的最大值
- Eclipse集成javap查看字节码
- NFS挂载Android文件系统
- JVM——类加载机制
- 用count(*)还是count(列名) || Mysql中的count()与sum()区别
- CocoaPods的安装使用和常见问题
- 网络编程之TCP编程
- qt 使用msvc编译器出现乱码如何解决?字符串中存在空格?
- LinearRegression 线性回归
- Django后端向前端直接传html语言防止转义的方法(2种)
- Ubuntu16.04安装Redis
- 使用 nodeJs 开发微信公众号(上传图片)
- 转载:CSS垂直居中总结
- PHP的几种输出方式
- 连接SQL常见问题
- JAVA 的wait(), notify()与synchronized同步机制
- 第九章:叹词(L'interjection )
- JVM虚拟机21: 1.8中废弃永久代(PermGen)迎来元空间(Metaspace)
热门文章
- python3 用递归方法列出所有目录与文件
- Java中关于static语句块的理解
- [求助]linux同一目录可否挂载多个数据盘?
- 3D游戏《龙心传奇Dragona》全套完整源码
- Spring 使用Cache(转)
- Helloworld之Spring依赖注入/控制反转(DI/IoC)版
- 一次修复IncrediBuild Coordinator服务的经历
- 使用truss、strace或ltrace诊断软件的";疑难杂症";
- 小雷FansUnion:我有了第一个付费客户(第一个徒弟)
- 【心情】bjdldrz