日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring4.x集成xfire1.26 问题汇总

發布時間:2024/9/27 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring4.x集成xfire1.26 问题汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebService專欄之xfire集成異常總覽

文章目錄

  • 一、asm.jar包沖突
    • 1.1 問題現象
    • 1.2 問題定位:
    • 1.3 解決方案:
  • 二、 Old 1.x 'singleton' attribute in use
    • 2.1 問題現象
    • 2.2 問題定位
    • 2.3 解決方案:
  • 三、Unrecognized xbean element mapping
    • 3.1 問題定位
    • 3.2 解決方案:
  • 四、services.xml it does not exist
    • 4.1 問題現象
    • 4.2 解決方案:
  • 五、指定class默認缺省
    • 5.1 問題現象:
    • 5.2 問題定位
    • 5.3 解決方案:
  • 六 、解析依賴缺少
    • 6.1 問題現象
    • 6.2 問題定位:
    • 6.3 解決方案:
  • 七、發布服務失敗
    • 7.1 問題現象
    • 7.2 解決方案:

一、asm.jar包沖突

1.1 問題現象

nested exception is java.lang.IncompatibleClassChangeError: class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class

1.2 問題定位:

org.springframework.asm-3.0.6.RELEASE.jar 這個jar已在spring中包含,而且這個版本也不一致

1.3 解決方案:

把org.springframework.asm-3.0.6.RELEASE.jar 在項目中刪除

二、 Old 1.x ‘singleton’ attribute in use

2.1 問題現象

Configuration problem: Old 1.x ‘singleton’ attribute in use - upgrade to ‘scope’ declaration

注:可以去下載xfire-spring-1.2.6的源碼或者反編譯,問題主要是修改xml配置文檔,無需重新編譯的。

2.2 問題定位

原因:spring-4.*不支持singleton=false或者singleton=true寫法了。

2.3 解決方案:

  • 1.找到xfire-all-1.2.6.jar這個jar包
  • 2.用壓縮工具打開,找到org/codehaus/xfire/spring/xfire.xml文件
  • 3.編輯xfire.xml文件,將singleton=“true” 修改為 scope=“singleton”
  • 4.把修改后的xfire-all-1.2.6.jar這個jar包放到lib文件夾中
  • 5.重啟項目

注:編輯xfire-all-1.2.6.jar,要先復制到桌面上,在用壓縮工具打開,進行編輯,在項目中無法編輯的

三、Unrecognized xbean element mapping

問題3:
org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean element mapping: beans in namespace http://xfire.codehaus.org/config/1.0

3.1 問題定位

Unrecognized xbean element mapping: beans in namespace http://xfire.codehaus.org/config/1.0<

3.2 解決方案:

修改services.xml文件.
原文件:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"><!-- 1. 暴露的服務名 2. 自定義命名空間 3. 接口路徑 4. 接口實現類路徑 --><name>HelloService</name><namespace>CustomNamespaces</namespace><serviceClass>com.gblfy.xfire.service.IHelloService</serviceClass><implementationClass>com.gblfy.xfire.service.impl.HelloServiceImpl</implementationClass></service></beans>

修改后文件:

<?xml version="1.0" encoding="UTF-8"?> <beans><service xmlns="http://xfire.codehaus.org/config/1.0"><!-- 1. 暴露的服務名 2. 自定義命名空間 3. 接口路徑 4. 接口實現類路徑 --><name>HelloService</name><namespace>CustomNamespaces</namespace><serviceClass>com.gblfy.xfire.service.IHelloService</serviceClass><implementationClass>com.gblfy.xfire.service.impl.HelloServiceImpl</implementationClass></service> </beans>

四、services.xml it does not exist

4.1 問題現象

java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist

4.2 解決方案:

  • 1.META-INF目錄下面新建一個xfire文件夾
  • 2.把services.xml文件放到這個文件夾里
  • 3.再將整個META-INF拷貝到WEB-INF中
  • 4.clean一下工程
  • 5.重新加載后啟動服務就可以了

五、指定class默認缺省

5.1 問題現象:

cannot convert value of type ‘org.codehaus.xfire.spring.editors.ServiceFactoryEditor’ to …

5.2 問題定位

spring-4.*的customEditors獲取類型直接指定為Class,而配置默認還是缺省的

5.3 解決方案:

  • 1.找到xfire-all-1.2.6.jar這個jar包
  • 2.用壓縮工具打開,找到org/codehaus/xfire/spring/customEditors.xml 文件
  • 3.編輯customEditors.xml文件
  • 4.把修改后的xfire-all-1.2.6.jar這個jar包放到lib文件夾中
  • 5.重啟項目

詳細編輯customEditors.xml文件:
把map中間的部分替換為下面即可。

<entry key="org.codehaus.xfire.service.ServiceFactory" value="org.codehaus.xfire.spring.editors.ServiceFactoryEditor"></entry>

源文件:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean id="xfire.customEditorConfigurer"class="org.springframework.beans.factory.config.CustomEditorConfigurer"><property name="customEditors"><map><entry key="org.codehaus.xfire.service.ServiceFactory"><bean class="org.codehaus.xfire.spring.editors.ServiceFactoryEditor"><property name="transportManager" ref="xfire.transportManager" /></bean></entry></map></property></bean></beans>

修改后:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean id="xfire.customEditorConfigurer"class="org.springframework.beans.factory.config.CustomEditorConfigurer"><property name="customEditors"><map><entry key="org.codehaus.xfire.service.ServiceFactory" value="org.codehaus.xfire.spring.editors.ServiceFactoryEditor"></entry></map></property></bean></beans>

注:編輯xfire-all-1.2.6.jar,要先復制到桌面上,在用壓縮工具打開,進行編輯,在項目中無法編輯的

六 、解析依賴缺少

6.1 問題現象

nested exception is java.lang.NoClassDefFoundError: org/jdom/Content

6.2 問題定位:

缺少jdom的jar包

6.3 解決方案:

  • 1.下載jdom-1.0.jar
  • 2.復制到項目中的lib包下面
  • 3.重啟項目

jdom-1.0.jar下載鏈接:

鏈接https://pan.baidu.com/s/1dpuCtD_Kng1rTaiF3dlM6g
提取碼bqfz

七、發布服務失敗

7.1 問題現象

輸入網址:http://localhost:8081/XFireTest/services/HelloService?wsdl
瀏覽器會顯示你所綁定的類或接口名稱,如:
Available Services:
MathService [wsdl]
DelService [wsdl]
Generated by XFire ( http://xfire.codehaus.org )

7.2 解決方案:

  • 1.重啟服務
  • 2.換個瀏覽器試試

總結

以上是生活随笔為你收集整理的Spring4.x集成xfire1.26 问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。