3 Ağustos 2011 Çarşamba

java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;

After successfully deploying web services to glassfish v2.1 server, the following error comes up while running test client code:
java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
at com.sun.xml.ws.model.RuntimeModeler.processExceptions(RuntimeModeler.java:1162)
at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:898)
at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:666)
at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:420)
at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:254)
at com.sun.xml.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:661)
at com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:649)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:343)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:326)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:308)
at javax.xml.ws.Service.getPort(Service.java:92)


According to this, current JAVA_HOME is pointing to Java 6 SE, which now has a version of WebFault WITHOUT the messageName element ..


In order to fix this situation, endorse mechanism should be applied, similar to this http://weblogs.java.net/blog/ramapulavarthi/archive/2009/04/tip_for_using_j.html

my solution is to add the following to junit ant task:

<jvmarg value="-Djava.endorsed.dirs=${lib.endorsed.dir}"/>


// endorsed folder consists of webservices-api.jar..

Hiç yorum yok:

Yorum Gönder