解决方案 »

  1.   

    Caused by: java.lang.NoSuchMethodException: com.shove.gateway.sms.eims.SmsGateway.getPortClassMap()
    这个方法在两个jar中比对下,看是否all 和 core 包中这个方法的传参有差异,替换jar后导致系统启动时找不到方法了
    如果jar中耦合低的话,可以尝试将两个class替换下,或者将all 中的这个class反编译一下,将参数略作修改再替换进去
    或者 修改下本地的调用getPortClassMap 方法的代码,修改下相应的传参
      

  2.   

    如果直接把xfire-all-1.2.6.jar中这个文件给删掉可以吗,反正没多大的用,jar中删除class和替换class有简单的方法吗,难道非要反编译之后修改后再打jar包吗
      

  3.   

    不建议直接改jar包,xfire用xfire-core.jar没有问题,你报的什么错。
      

  4.   

    如果没有大的问题,可以直接将class文件替换
    具体还是要看你的问题,你的jar包中配套的其他class文件的引用问题
    可以直接反编译修改,也可以直接替换class文件
      

  5.   

    “如果用xfire-core-1.2.6.jar的话,它就调用不成功,用xfire-all-1.2.6.jar可以搞定,但是问题是项目中另一个方法会抛出这个异常,初始化xfire-all-1.2.6.jar中一些东西不成功”
    ---你原来项目用的xfire版本跟现在你开发的代码用的版本不一致? 要么改用原来的xfire-core-1.2.6.jar支持的调webservice的客户端方法,要么直接把原来的代码改成新的xfire-all-1.2.6.jar兼容的,没必要改xfire的开源包,动作太大
    java里面jar包就是个压缩文件,你改了jar里面的内容再jar -cvf ./* 打包即可
      

  6.   

    就是用core包的时候,那个请求在浏览器上不动了,Object[] results = client.invoke("queryReport",new Object[]{userName, passWord, queryInfo, "xml"});这句话不行,貌似发不出去
      

  7.   

    就是用core包的时候,那个请求在浏览器上不动了,Object[] results = client.invoke("queryReport",new Object[]{userName, passWord, queryInfo, "xml"});这句话不行,貌似发不出去就是用core的话,这个方法请求发布出去,后台日志不报错,求大神们帮下忙啊
      

  8.   

    用xfire-core.jar时请求发不出去,后台日志不报错。
      

  9.   

    你可以把xfire-all-1.2.6.jar中的jaxws这个文件夹给干掉,然后重新打包为xfire-all-u-1.2.6.jar发我吗,或者你把命令给说一下,我解压之后,删除了,再次打包不成功