zoukankan      html  css  js  c++  java
  • jws 问题总结

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

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

    上次为了测试maven似乎改动了JAVA_HOME的值,于是把G:javajdkjre改为G:javajdk,重新执行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方法都会被发布

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

  • 相关阅读:
    fastjson-alibaba
    ubuntu 入门
    资料文档
    asp.net mvc View视图相关
    视频
    js第三方
    工具类网址
    [转]初学者的编程自学指南
    seajs的使用--主要了解模块化
    其它
  • 原文地址:https://www.cnblogs.com/tele-share/p/9314796.html
Copyright © 2011-2022 走看看