This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Web Services and the fly likes Facing intermittent 501: Not Implemented issues in JAX-WS environment Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Facing intermittent 501: Not Implemented issues in JAX-WS environment" Watch "Facing intermittent 501: Not Implemented issues in JAX-WS environment" New topic
Author

Facing intermittent 501: Not Implemented issues in JAX-WS environment

Santhosh Narasimhan
Greenhorn

Joined: Feb 09, 2012
Posts: 3

We have a JAX-WS environment where we receive the following error intermittently from the server. Our clients are triggered from within a tomcat6 web application. Environment is multi-threaded. I suspect this to be a multithread + JAXWS issue. Unable to gather additional logs or SOAP logging because of the scale. We might probably have about 1000+ threads running in our environment. Any help?

com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 501: Not Implemented
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:311) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:260) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:218) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:137) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:138) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.client.Stub.process(Stub.java:323) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:161) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:113) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93) [jaxws-rt.jar:2.2.5]
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144) [jaxws-rt.jar:2.2.5]
at $Proxy37.waitForUpdates(Unknown Source) [na:na]
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
As you say, this is the server returning a 501 status code.
Have you considered to implement a servlet filter on the server that logs responses form the server which have a status code that indicate a problem?
Perhaps it is even possible to log the accompanying request that yielded a erroneous response.

P.S. Here is the code for the class in which the exception occurs: http://www.koders.com/java/fidA74DE5CCF8700F2036F2AD40E5865403CDD2E628.aspx?s=cdef%3ahttptransportpipe+mdef%3acheckstatuscode#L71
Another possible way may be to debug the server, setting a breakpoint when a bad status code occurs.
Best wishes!


My free books and tutorials: http://www.slideshare.net/krizsan
Santhosh Narasimhan
Greenhorn

Joined: Feb 09, 2012
Posts: 3
Thanks for your response Ivan.
It is possible to get the soap trace of all the requests from the client. However, the logs getting generated are large (about 2 GB in 8 minutes). As this issue occurs hours after starting our tests, we are unable to handle this spew of logs.
Debug points in the server is one option. However, a) we do not have access to server code currently. b) I don't think it reaches the server code. The HTTP layer in the server side throws this exception.
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
I did suggest implementing a servlet filter that only logged certain requests and, if possible, responses. This in order to avoid large log files.
You say that you suspect the HTTP communication layer in the server - is it possible to examine the server logs for clues to why it returns a 501?
Best wishes!
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Facing intermittent 501: Not Implemented issues in JAX-WS environment
 
Similar Threads
com.sun.xml.ws.client.ClientTransportException JAX-WS
Jax-WS client error
Help on JAX WS
The server sent HTTP status code -1
Deployment / Client Problem with "Simple Jax-ws" Web Service