Issue Details (XML | Word | Printable)

Key: MULE-3551
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Dan Diephouse
Reporter: Dirk Olmes
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Mule

Webapp example's REST Hello World fails

Created: 15/Jul/08 11:53 AM   Updated: 16/Jul/08 11:14 AM
Component/s: Examples / Tutorials
Affects Version/s: 2.0.2
Fix Version/s: 2.0.2, 2.0 ITR4

Time Tracking:
Original Estimate: Not Specified
Remaining Estimate: 0 minutes
Time Spent - 1 hour, 30 minutes
Time Spent: 1 hour, 30 minutes
Time Spent - 1 hour, 30 minutes

Environment: Windows, JDK1.5, Tomcat 6.0.16
Issue Links:
Related
 

Labels:
User impact: High
Log Output:
[07-15 18:52:08] ERROR DefaultServiceExceptionStrategy [http-8080-2]:
********************************************************************************
Message : [
The required property "method" is not set on the event
CallableEntryPointResolver:Object "org.mule.example.hello.Greeter@1dea382" does not implement required interface "interf
ace org.mule.api.lifecycle.Callable"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=true, acceptVoidMethods=false}"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=false, acceptVoidMethods=false}"
]
Type : org.mule.model.resolvers.EntryPointNotFoundException
Code : MULE_ERROR--2
JavaDoc : http://mule.mulesource.org/docs/apidocs/org/mule/model/resolvers/EntryPointNotFoundException.htm
l
********************************************************************************
Exception stack is:
1. [
The required property "method" is not set on the event
CallableEntryPointResolver:Object "org.mule.example.hello.Greeter@1dea382" does not implement required interface "interf
ace org.mule.api.lifecycle.Callable"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=true, acceptVoidMethods=false}"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=false, acceptVoidMethods=false}"
] (org.mule.model.resolvers.EntryPointNotFoundException)
  org.mule.model.resolvers.DefaultEntryPointResolverSet:63 (http://mule.mulesource.org/docs/apidocs/org/mule/model/resol
vers/EntryPointNotFoundException.html)
********************************************************************************
Root Exception stack trace:
org.mule.model.resolvers.EntryPointNotFoundException: [
The required property "method" is not set on the event
CallableEntryPointResolver:Object "org.mule.example.hello.Greeter@1dea382" does not implement required interface "interf
ace org.mule.api.lifecycle.Callable"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=true, acceptVoidMethods=false}"
Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.Co
yoteInputStream}" using resolver "ReflectionEntryPointResolver{ignoredMethods=[hashCode, getClass, toString, getInvocati
onHandler, clone, notifyAll, get*, equals, is*, wait, notify]{transformFirst=false, acceptVoidMethods=false}"
]
        at org.mule.model.resolvers.DefaultEntryPointResolverSet.invoke(DefaultEntryPointResolverSet.java:63)
        at org.mule.component.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:202)
        at org.mule.component.AbstractJavaComponent.invokeComponentInstance(AbstractJavaComponent.java:84)
        at org.mule.component.AbstractJavaComponent.doOnCall(AbstractJavaComponent.java:75)
        at org.mule.component.AbstractComponent.onCall(AbstractComponent.java:96)
        at org.mule.model.seda.SedaService.doSend(SedaService.java:237)
        at org.mule.service.AbstractService.sendEvent(AbstractService.java:510)
        at org.mule.DefaultMuleSession.sendEvent(DefaultMuleSession.java:354)
        at org.mule.routing.inbound.DefaultInboundRouterCollection.send(DefaultInboundRouterCollection.java:221)
        at org.mule.routing.inbound.DefaultInboundRouterCollection.route(DefaultInboundRouterCollection.java:181)
        at org.mule.transport.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.j
ava:603)
        at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:346)
        at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:269)
        at org.mule.transport.servlet.MuleRESTReceiverServlet.doPost(MuleRESTReceiverServlet.java:104)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)

********************************************************************************

[07-15 18:52:08] ERROR DefaultServiceExceptionStrategy [http-8080-2]: Message being processed is: org.mule.transport.ser
vlet.HttpRequestMessageAdapter/org.mule.transport.servlet.HttpRequestMessageAdapter@e1469c{id=B1E2FCE572CB48EF455D70CB1D
9697E1, payload=org.apache.catalina.connector.CoyoteInputStream, correlationId=null, correlationGroup=-1, correlationSeq
=-1, encoding=UTF-8, exceptionPayload=org.mule.message.DefaultExceptionPayload@1e2bda7}
ExceptionMessage{message=, context={accept-encoding=gzip, deflate, referer=http://localhost:8080/mule-examples/resthello
world.html, connection=Keep-Alive, endpoint=greeter, content-type=application/x-www-form-urlencoded, cookie=JSESSIONID=B
1E2FCE572CB48EF455D70CB1D9697E1, content-length=12, org.mule.servlet.payload.param=payload, cache-control=no-cache, acce
pt-language=de, host=localhost:8080, user-agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1), payload=Dirk, M
ULE_ORIGINATING_ENDPOINT=endpoint.servlet.rest, accept=image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/
x-shockwave-flash, */*}exception=org.mule.api.service.ServiceException: Component that caused exception is: GreeterUMO.
Message payload is of type: CoyoteInputStream, componentName='GreeterUMO', endpointUri=http://localhost:8080/rest?endpoi
nt=greeter, timeStamp=Tue Jul 15 18:52:08 CEST 2008}[07-15 18:52:08] ERROR MuleRESTReceiverServlet [http-8080-2]: messag
e: null
java.lang.NullPointerException
        at org.mule.transport.servlet.AbstractReceiverServlet.writeResponse(AbstractReceiverServlet.java:161)
        at org.mule.transport.servlet.MuleRESTReceiverServlet.doPost(MuleRESTReceiverServlet.java:105)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)


 Description  « Hide
  • build the webapp example
  • deploy into Tomcat
  • klick the "REST Hello World" link
  • enter your name
  • Exception occurs (see log)


 All   Comments   Work Log   Change History   Transitions   FishEye      Sort Order: Ascending order - Click to sort in descending order
Dirk Olmes added a comment - 15/Jul/08 02:43 PM
Dan, can you take a look at this one, please?

It looks like the following excerpt from the error message is the root cause:

Could not find entry point on: "org.mule.example.hello.Greeter" with arguments: "{class org.apache.catalina.connector.CoyoteInputStream}"

So this must have something to do with streaming and the magic transformer selection.


Dan Diephouse added a comment - 15/Jul/08 03:29 PM
Dirk: I don't have time to look at this in the next 24-48 hours. I can give you a good idea of what the issue is though. The HttpRequestMessageAdapter was changed to return an InputStream for the payload. The transformers are probably set up wrong.


Dirk Olmes added a comment - 16/Jul/08 06:44 AM
Dan, you're right: using a different transformer helps here ... sadly only in theory. Now that I have put an ObjectToString transformer into the pipeline the servlet container's input stream is read but the resulting String is empty. Tracing this down into the depths of jetty I found that the stream is not yet ready for consumption it seems.

Assigning this back to you since I have absolutely no idea how this could be fixed.