prefer-web-inf works just fine. IT does not work in weblogic9.x though.
On 8/3/07, Mike Miller <[EMAIL PROTECTED]> wrote: > > Has anyone been able to successfully use the prefer-web-inf-classes > setting to pickup the new QName.class from the qname.jar? This has not > worked for me so I followed up with BEA support - below is the response I > just got this morning: > > CASE_ID_NUM: 736484 > CASE TITLE: Having a problems using the pref-web-inf-classes setting to > true. > > MESSAGE: > Hi Mike, > Further to our discussion, I found a CR related to this issue : CR306989 > (WLS 8.1 sp 6 ) & CR136750 (WLS 8.1 sp 2) > THis prooblem seems to be existing in all servicepacks of WLS 8.1 > Here are the details of the CR : > Observations: There are three scenarios > > 1. If you don't add the current version of the QName-class to your > classpath, this is what happens: java.lang.NoSuchMethodError: > javax.xml.namespace.QName > .<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;) > > 2. If the qname.jar with the current version of QName is added to the lib > directory of the web application and weblogic is instructed > (prefer-web-inf-classes in weblogic.xml) to prefer the libs from the .WAR. > Testing with the new prefixed QName constructor from the qname.jar in the > lib of this .WAR Fails with: > java.lang.LinkageError: loader constraints violated when linking > javax/xml/namespace/QName class unless youput qname.jar AHEAD OF > weblogic.jar in the classpath! Complete stacktrace: java.lang.LinkageError: > loader > > 3. Now, because the given URL is invalid, the service can't be created. > This is the proper exception when qname.jar is placed ahead of > weblogic.jar in the classpath and qname is NOT being loaded from the .WAR > Stacktrace=javax.xml.rpc.JAXRPCException: failed to create service at > weblogic.webservice.core.rpc.ServiceImpl.getWebService(ServiceImpl.java:123) > at weblogic.webservice.core.rpc.ServiceFactoryImpl.createService( > ServiceFactoryImpl.java:42) at * ch.suva.qnameservlet.QnameServlet.doGet( > QnameServlet.java:44) at * javax.servlet.http.HttpServlet.service > Reason : > The javax.xml.namespace.QName class packaged in WLS 8.1SP3 "weblogic.jar" > doesn't have a 3-arg constructor which is the reason behind the > NoSuchMethodError. > However in WLS 9.0 which is the next Release does have this 3-arg > constructor, hence you shouldn't be hitting this issue there > Resolution / workaround: > The XMLBeans JAR files are using one version of the class, > javax.xml.namespace.QName. However, WebLogic has its own _older_version of > the same class in weblogic.jar. The older version is being used instead of > the latest version. The only way to make sure WebLogic uses a newer QName is > to make sure, a newer QName-Class is loaded ahead of weblogic.jar in the > CLASSPATH. > > Please use the latest qname.jar ahead of Weblogic.jar in CLASSPATH > > If this is true, then the XFire should be updated to indicate that the > only solution is to put the qname.jar at the front of the classpath. > > ------------------------------ > See what you're getting into…before you go there See > it!<http://newlivehotmail.com/?ocid=TXT_TAGHM_migration_HM_viral_preview_0507> >
