Issue with jsonwebservice + Tomcat 5.5 + Maven

356 views
Skip to first unread message

Romain PUTEGNAT

unread,
Mar 6, 2012, 5:24:14 AM3/6/12
to jsonwebservice
Hello,

I'm trying to make a json webservice with maven. Everything is OK but
when i put the war file in Tomcat i add the following errors

java.lang.NoClassDefFoundError: com/sun/xml/ws/api/BindingIDFactory
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:
927)
at java.lang.ClassLoader.loadClass(ClassLoader.java:298)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1267)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1198)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.xml.ws.util.ServiceFinder
$LazyIterator.next(ServiceFinder.java:460)
at com.sun.xml.ws.util.ServiceFinder
$CompositeIterator.next(ServiceFinder.java:402)
at com.sun.xml.ws.api.BindingID.parse(BindingID.java:271)
at com.sun.xml.ws.api.BindingID.parse(BindingID.java:329)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.createBinding(DeploymentDescriptorParser.java:
309)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:
250)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:
153)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
131)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:
152)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3729)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:
4187)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
524)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
472)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1190)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:
292)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
119)
at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:
1305)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:619)
6 mars 2012 11:12:03 org.apache.catalina.core.StandardContext
listenerStart
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
(context initialized) à l'instance de classe d'écoute (listener)
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
com.sun.xml.ws.transport.http.servlet.WSServletException:
WSSERVLET11 : échec de l'analyse du descripteur d'exécution :
java.lang.NoClassDefFoundError: com/sun/xml/ws/api/BindingIDFactory
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
141)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:
152)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3729)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:
4187)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
524)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
809)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
698)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
472)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1190)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:
292)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
119)
at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:
1305)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: com/sun/xml/ws/api/
BindingIDFactory
at java.lang.ClassLoader.findBootstrapClass(Native Method)
at java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:
927)
at java.lang.ClassLoader.loadClass(ClassLoader.java:298)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1267)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1198)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.xml.ws.util.ServiceFinder
$LazyIterator.next(ServiceFinder.java:460)
at com.sun.xml.ws.util.ServiceFinder
$CompositeIterator.next(ServiceFinder.java:402)
at com.sun.xml.ws.api.BindingID.parse(BindingID.java:271)
at com.sun.xml.ws.api.BindingID.parse(BindingID.java:329)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.createBinding(DeploymentDescriptorParser.java:
309)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:
250)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:
153)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
131)
... 17 more


Here is my pom.xml :


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>test</name>
<url>http://maven.apache.org</url>

<repositories>
<repository>
<id>maven-repository.dev.java.net</id>
<name>Jave.net Repository Maven 1</name>
<url>http://download.java.net/maven/1</url>
<layout>legacy</layout>
</repository>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Jave.net Repository Maven 2</name>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>maven2-repository.dev.java.net</id>
<url>http://download.java.net/maven/2</url>
</pluginRepository>
</pluginRepositories>

<!-- Liste des dependances -->
<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-json</artifactId>
<version>1.2</version>
</dependency>
</dependencies>

<!-- Build -->
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<packageName>WS</packageName>
<sourceDestDir>${basedir}/src/main/java</sourceDestDir>
</configuration>
</plugin>

<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</build>

</project>

Does I miss something ?

Thank you for your help !

Sundar Murthi

unread,
Mar 6, 2012, 5:46:03 AM3/6/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
Hi,
   Thank you for contacting support. Please check your dependency of metro run time. If not added add following dependency.

<dependency>
  <groupId>org.glassfish.metro</groupId>
  <artifactId>webservices-rt</artifactId>
  <version>2.1</version>
  </dependency>
  <dependency>
  <groupId>org.glassfish.metro</groupId>
  <artifactId>webservices-api</artifactId>
  <version>2.1</version>
  </dependency>  

Romain PUTEGNAT

unread,
Mar 6, 2012, 5:59:42 AM3/6/12
to jsonwebservice
Thanks for reply !

I add depencies but I still got the issue ...
Maybe it's due to endorsed libraries ?
> > 1198)
> >    at java.lang.Class.forName0(Native Method)
> >    at java.lang.Class.forName(Class.java:247)
> >    at com.sun.xml.ws.util.ServiceFinder
> > $LazyIterator.next(ServiceFinder.java:460)
> >    at com.sun.xml.ws.util.ServiceFinder
> > $CompositeIterator.next(ServiceFinder.java:402)
> >    at com.sun.xml.ws.api.BindingID.parse(BindingID.java:271)
> >    at com.sun.xml.ws.api.BindingID.parse(BindingID.java:329)
> >    at
> > com.sun.xml.ws.transport.http.DeploymentDescriptorParser.createBinding(Depl oymentDescriptorParser.java:
> > 309)
> >    at
> > com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(Depl oymentDescriptorParser.java:
> > 250)
> >    at
> > com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDe scriptorParser.java:
> > 153)
> >    at
> > com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdapter sAndCreateDelegate(WSServletContextListener.java:

Romain PUTEGNAT

unread,
Mar 6, 2012, 7:44:49 AM3/6/12
to jsonwebservice
Well .... I got something else now ...

6 mars 2012 13:43:03 org.apache.catalina.startup.HostConfig deployWAR
INFO: Déploiement de l'archive test.war de l'application web
6 mars 2012 13:43:04
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
contextInitialized
INFO: WSSERVLET12 : initialisation du processus découte de contexte
JAX-WS
6 mars 2012 13:43:19 com.sun.xml.ws.server.MonitorBase createRoot
INFO: Metro monitoring rootname successfully set to:
com.sun.metro:pp=/,type=WSEndpoint,name=AddNumbersImplService-
AddNumbersImplPort
6 mars 2012 13:43:20
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
parseAdaptersAndCreateDelegate
GRAVE: WSSERVLET11 : échec de l'analyse du descripteur d'exécution :
java.lang.NullPointerException
java.lang.NullPointerException
at
org.jvnet.jax_ws_commons.json.schema.JsonOperation.build(JsonOperation.java:
53)
at
org.jvnet.jax_ws_commons.json.schema.JsonOperation.<init>(JsonOperation.java:
33)
at
org.jvnet.jax_ws_commons.json.SchemaInfo.buildJsonSchema(SchemaInfo.java:
221)
at org.jvnet.jax_ws_commons.json.SchemaInfo.<init>(SchemaInfo.java:
132)
at org.jvnet.jax_ws_commons.json.JSONCodec.setEndpoint(JSONCodec.java:
64)
at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:
205)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:
304)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:
299)
at
com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:
145)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:
261)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:
153)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
131)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:
6 mars 2012 13:43:20 org.apache.catalina.core.StandardContext
listenerStart
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
(context initialized) à l'instance de classe d'écoute (listener)
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
com.sun.xml.ws.transport.http.servlet.WSServletException:
WSSERVLET11 : échec de l'analyse du descripteur d'exécution :
java.lang.NullPointerException
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
141)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:
119)
at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:
1305)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase
$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at
org.jvnet.jax_ws_commons.json.schema.JsonOperation.build(JsonOperation.java:
53)
at
org.jvnet.jax_ws_commons.json.schema.JsonOperation.<init>(JsonOperation.java:
33)
at
org.jvnet.jax_ws_commons.json.SchemaInfo.buildJsonSchema(SchemaInfo.java:
221)
at org.jvnet.jax_ws_commons.json.SchemaInfo.<init>(SchemaInfo.java:
132)
at org.jvnet.jax_ws_commons.json.JSONCodec.setEndpoint(JSONCodec.java:
64)
at com.sun.xml.ws.server.WSEndpointImpl.<init>(WSEndpointImpl.java:
205)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:
304)
at com.sun.xml.ws.server.EndpointFactory.create(EndpointFactory.java:
299)
at
com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:
145)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:569)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:552)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:
261)
at
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:
153)
at
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:
131)
... 17 more
6 mars 2012 13:43:20 org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
6 mars 2012 13:43:20 org.apache.catalina.core.StandardContext start
GRAVE: Erreur de démarrage du contexte [/test] suite aux erreurs
précédentes
6 mars 2012 13:43:20
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
contextDestroyed

(sorry for French text ^^)
> ...
>
> plus de détails »

Sundar Murthi

unread,
Mar 6, 2012, 8:00:08 AM3/6/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
Hi,
Now your mixing 2 different json library. exception occurs form "jvnet" json library. which is available part of jax-ws commons project. I recommend you to use one json library at a time. or use proper jax-ws binding in sun-jaxws.xml file.

Romain PUTEGNAT

unread,
Mar 6, 2012, 8:49:43 AM3/6/12
to jsonwebservice
Ok I understand better why I was doing a mess :o

Thanks a lot for your support !

On 6 mar, 14:00, Sundar Murthi <sundaramurt...@gmail.com> wrote:
> Hi,
> > 6 mars 2012 13:43:20 org.apache.catalina.core.StandardContext
> > listenerStart
> > GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé
> > (context initialized) à l'instance de classe d'écoute (listener)
> > com.sun.xml.ws.transport.http.servlet.WSServletContextListener
> > com.sun.xml.ws.transport.http.servlet.WSServletException:
> > WSSERVLET11 : échec de l'analyse du descripteur d'exécution :
> > java.lang.NullPointerException
> >    at
> > Caused by: java.lang.NullPointerException
> >    at
> > com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDe scriptorParser.java:
> > 153)
> >    at
> > com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdapter sAndCreateDelegate(WSServletContextListener.java:
> > 131)
> >    ... 17 more
> ...
>
> plus de détails »

Romain PUTEGNAT

unread,
Mar 6, 2012, 11:32:17 AM3/6/12
to jsonwebservice
Well ... I'm still struggling ... Is there a sample code using maven
and jsonwebservice ?
> ...
>
> plus de détails »

Romain PUTEGNAT

unread,
Mar 7, 2012, 4:42:17 AM3/7/12
to jsonwebservice
I had this simple WS

@SOAPBinding(style = SOAPBinding.Style.RPC)
@WebService (name="HelloService")

public class HelloWorldImpl {

@WebMethod (operationName = "sayHello")
public @WebResult(name="message") String sayHello(
@WebParam(name="name") String name){
return "Hello "+name;
}
}

When I try to access to the json endpoint i got the following errors

7 mars 2012 10:40:39
com.sun.xml.ws.transport.http.servlet.WSServletDelegate doGet
GRAVE: caught throwable
java.lang.NoSuchMethodError:
com.sun.xml.ws.api.model.SEIModel.getJAXBContext()Lcom/sun/xml/bind/
api/JAXBRIContext;
at
com.jaxws.json.codec.doc.provider.DefaultEndpointDocument.process(DefaultEndpointDocument.java:
83)
at
com.jaxws.json.codec.doc.provider.DefaultEndpointDocument.doResponse(DefaultEndpointDocument.java:
148)
at
com.jaxws.json.codec.doc.JSONHttpMetadataPublisher.handleMetadataRequest(JSONHttpMetadataPublisher.java:
64)
at
com.sun.xml.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:
274)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapter.java:
187)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:
159)
at
com.sun.xml.ws.transport.http.servlet.WSServlet.doGet(WSServlet.java:
88)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
869)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:
80)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)

Sorry for all the questions :$
> ...
>
> plus de détails »

Sundar Murthi

unread,
Mar 7, 2012, 4:51:54 AM3/7/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
Hi,
    This exception happen due to wrong or old version of metro jars.  Use metro 2.1 or latter minter versions.

If your sure your using webservices-rt.jar and webservices-api.jar versions are 2.1 please check your endorsed jar. There might be old version pre loaded.




On Mar 7, 2012, at 10:42 AM, Romain PUTEGNAT wrote:



Romain PUTEGNAT

unread,
Mar 7, 2012, 5:07:50 AM3/7/12
to jsonwebservice
Yes it was an old version in my endorsed folder ... Thank you very
much !!

Romain PUTEGNAT

unread,
Mar 7, 2012, 5:31:12 AM3/7/12
to jsonwebservice
I got another error ... when i try to call my sayHello service i got
this :

7 mars 2012 11:30:32
com.sun.xml.ws.transport.http.servlet.WSServletDelegate doGet
GRAVE: caught throwable
java.lang.StackOverflowError
at java.lang.String.indexOf(String.java:1521)
at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:127)
at sun.net.www.protocol.file.Handler.parseURL(Handler.java:50)
at java.net.URL.<init>(URL.java:596)
at java.net.URL.<init>(URL.java:464)
at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:
976)
at sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:
966)
at sun.misc.URLClassPath$1.next(URLClassPath.java:196)
at sun.misc.URLClassPath$1.hasMoreElements(URLClassPath.java:206)
at java.net.URLClassLoader$3$1.run(URLClassLoader.java:416)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader$3.next(URLClassLoader.java:413)
at java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:438)
at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:27)
at
sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:
36)
at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:27)
at
sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:
36)
at sun.misc.CompoundEnumeration.next(CompoundEnumeration.java:27)
at
sun.misc.CompoundEnumeration.hasMoreElements(CompoundEnumeration.java:
36)
at com.sun.xml.ws.util.ServiceFinder
$LazyIterator.hasNext(ServiceFinder.java:361)
at com.sun.xml.ws.util.ServiceFinder.toArray(ServiceFinder.java:229)
at
com.jaxws.json.codec.doc.JSONHttpMetadataPublisher.handleMetadataRequest(JSONHttpMetadataPublisher.java:
55)
at
com.sun.xml.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:
270)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
465)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
460)
at
com.jaxws.json.codec.doc.JSONHttpMetadataPublisher.handleMetadataRequest(JSONHttpMetadataPublisher.java:
69)
at
com.sun.xml.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:
270)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
465)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
460)
at
com.jaxws.json.codec.doc.JSONHttpMetadataPublisher.handleMetadataRequest(JSONHttpMetadataPublisher.java:
69)
at
com.sun.xml.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:
270)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
465)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
460)
at
com.jaxws.json.codec.doc.JSONHttpMetadataPublisher.handleMetadataRequest(JSONHttpMetadataPublisher.java:
69)
at
com.sun.xml.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:
270)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
465)
at
com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:
460)

Sundar Murthi

unread,
Mar 7, 2012, 5:35:08 AM3/7/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
Can you send me json request?


Also you can check json end point for correct json request format for your operation.

Romain PUTEGNAT

unread,
Mar 7, 2012, 5:38:40 AM3/7/12
to jsonwebservice
I used this request http://localhost:7070/test/json/hello?sayHello.name=lol

Why I try in the endpoint, everything is OK. I got this return

{"message":"Hello lol","statusFlag":true,"TRACE":{"INFO":["Request
Content-type: application\/json;charset=UTF-8","JSONDecoder
initalized","calling json to ws message converter: Wed Mar 07 11:37:21
CET 2012","decoding JSON content started: Wed Mar 07 11:37:21 CET
2012","Converting json input as string buffer","JSON input reader
closed","Parsing input JSON string into java Object","Input JSON
parsed successfully as plain map","Reading operation using service
endpoint definition","Operaion identified as . sayHello","Message
decoded successfully: Wed Mar 07 11:37:21 CET 2012","Response encoding
started.Wed Mar 07 11:37:21 CET 2012","Writing json respone from
map"]}}

Romain PUTEGNAT

unread,
Mar 7, 2012, 5:41:09 AM3/7/12
to jsonwebservice
for information, when i try with the helloworld.war from Getting
Started, it works well (http://localhost:7070/helloWorld/json/hello?
sayHello.name=lol)

On 7 mar, 11:38, Romain PUTEGNAT <r.puteg...@gmail.com> wrote:
> I used this requesthttp://localhost:7070/test/json/hello?sayHello.name=lol

Sundar Murthi

unread,
Mar 7, 2012, 5:47:00 AM3/7/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
HI,

This response is fine for HTTP GET request.  If you don't like to see statusFlag and/or TRACE  in json you can disable it using jsonwebservice property file.

Stack trace exception one you see is known exception with primitive parameter in document module.  I believe it was fixed in 0.7 jar. But not 100% sure. You can safely ignore it. or disabling trace also avoid overflow trace.




On Mar 7, 2012, at 11:38 AM, Romain PUTEGNAT wrote:

reader

Romain PUTEGNAT

unread,
Mar 7, 2012, 5:55:35 AM3/7/12
to jsonwebservice
Thanks for the answer but I am a little confused ... I don't have
answer from Tomcat if I used the request (http://localhost:7070/test/
json/hello?sayHello.name=lol). How I am supposed to request this
service without the url ?

Sundar Murthi

unread,
Mar 7, 2012, 6:03:03 AM3/7/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
Hi,
  " How I am supposed to request this service without the url ?"  You mean using json codec for internal parsing only? Jax-ws is a webservice made for external user access, json codec enable it  through json insteed of SOAP XML.

You need to always access by URL.




On Mar 7, 2012, at 11:55 AM, Romain PUTEGNAT wrote:

if

Romain PUTEGNAT

unread,
Mar 7, 2012, 6:05:12 AM3/7/12
to jsonwebservice
No I mean that if I used this url i don't have answer. I got an error
from the server.

Sundar Murthi

unread,
Mar 7, 2012, 6:07:27 AM3/7/12
to jsonweb...@googlegroups.com, Romain PUTEGNAT
did you also configured soap endpoint? Or can you send me your sun-jaxws.xml file.



On Mar 7, 2012, at 12:05 PM, Romain PUTEGNAT wrote:

have

Romain PUTEGNAT

unread,
Mar 7, 2012, 6:10:00 AM3/7/12
to jsonwebservice
The soap endpoint is working well.

<?xml version="1.0" encoding="UTF-8"?>
<endpoints version="2.0"
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">

<endpoint name="HelloService" implementation="WS.impl.HelloWorldImpl"
url-pattern="/json/hello" binding="http://jsonplugin.googlecode.com/
json/" />

<endpoint name="HelloServiceSOAP"
implementation="WS.impl.HelloWorldImpl"
binding="http://schemas.xmlsoap.org/wsdl/soap/http" url-pattern="/
soap/hello" />

</endpoints>

Sundar Murthi

unread,
Mar 7, 2012, 6:15:01 AM3/7/12
to jsonweb...@googlegroups.com
Hi,
  Do you also get error, with out operation? In the URL bellow.


http://localhost:7070/test/json/hello

Romain PUTEGNAT

unread,
Mar 7, 2012, 6:31:43 AM3/7/12
to jsonwebservice
No i got the classic endpoint

Sundar Murthi

unread,
Mar 7, 2012, 6:46:48 AM3/7/12
to jsonweb...@googlegroups.com
classic end point? you mean description of operation page in old style? If so it is correct. If you need different style of endpoint you need to add relevant plugin (jquery, yui)

If you got your endpoint working then there is something wrong in your json request to make json operation work.

Romain PUTEGNAT

unread,
Mar 7, 2012, 7:20:09 AM3/7/12
to jsonwebservice
Yes I mean the description ^^

I'm gonna search so ... I don't really understand why it's crashing
but well ^^

Sundar Murthi

unread,
Mar 7, 2012, 7:33:16 AM3/7/12
to jsonweb...@googlegroups.com
Can I have your josn input description available in endpoint document. Also did you triyed by sending JSON http post instead of get? You can do this in endpoint document page itself.

Romain PUTEGNAT

unread,
Mar 7, 2012, 7:36:01 AM3/7/12
to jsonwebservice
Input description : {"sayHello":{"name":"String"}} This is wahat you
want ?

I don't see where i can choose post instead of get ?

Romain PUTEGNAT

unread,
Mar 7, 2012, 11:13:08 AM3/7/12
to jsonwebservice
Finally, from my application I am able to do request and get results
so it's ok !

Thank you for your long support !

Good night !

Roland Berger

unread,
Mar 31, 2012, 7:52:17 AM3/31/12
to jsonwebservice
Hello. What folder do you mean? I have metro 2.2 and I also get this
NoSuchMethodError....

Sundar Murthi

unread,
Apr 2, 2012, 5:09:23 AM4/2/12
to jsonweb...@googlegroups.com
Hi,
   If your using tomcat your default endorsed directory looks like <TOMCAT_ROOT>/endorsed and you may also check in <TOMCAT_ROOT>/shared/lib,  <TOMCAT_ROOT>/common/lib




On Mar 31, 2012, at 1:52 PM, Roland Berger wrote:

 

Reply all
Reply to author
Forward
0 new messages