SSISO Community

시소당

웹로직 서버 8.1에서 Xfire 에러 처리

[에러]

java.lang.NoSuchMethodError: javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String V Exception?

Several application servers (WebSphere and WebLogic, for example) include an older version of the QName class. XFire (as well as XMLBeans and Stax) require the new version. WebLogic usage has been documented, WebSphere will be similar.

 

 

[해결방안]

 

XFire requires a newer version of the javax.xml.namespace.QName than is included in weblogic.jar. The QName jar can be found here

To override the weblogic.jar with your own QName.jar, your need to do the following:

  1. Add the QName JAR file (qname.jar) into the WEB-INF/lib folder in your WAR file
  2. Add a file weblogic.xml into the WEB-INF folder in your WAR file

Below is an example weblogic.xml file:

<!DOCTYPE weblogic-web-app PUBLIC
  "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
  "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

<weblogic-web-app>
  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
</weblogic-web-app>

The purpose of the weblogic.xml file is to tell WebLogic that the the WEB-INF/lib folder should take precedence over the global weblogic.jar file. This allows you to override the system classloader with your own application-specific JAR files.

1033 view

4.0 stars