ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Goldhammer <Goldhammer.J...@gmx.net>
Subject Re: Errors in InstanceManagement and ProcessManagement-API
Date Thu, 04 Oct 2007 08:36:17 GMT



Alex Boisvert wrote:
> 
> On 10/2/07, Jens Goldhammer <Goldhammer.Jens@gmx.net> wrote:
>>
>> DEBUG - GeronimoLog.debug(66) | The system is checking for the operation
>> using the following WSAAction:
>> 17:38:18,894 DEBUG [ODEAxisDispatcher] The system is checking for the
>> operation using the following WSAAction:
>> DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message
>> body's first child's local name : resume
>> 17:38:18,904 DEBUG [ODEAxisDispatcher] Checking for Operation using SOAP
>> message body's first child's local name : resume
>> DEBUG - GeronimoLog.debug(66) | Found operation
>> org.apache.axis2.description.InOutAxisOperation@cea754
>> 17:38:18,904 DEBUG [ODEAxisDispatcher] Found operation
>> org.apache.axis2.description.InOutAxisOperation@cea754
>> DEBUG - GeronimoLog.debug(66) | Found a header in incoming message,
>> checking
>> if there are endpoints there.
>> 17:38:18,944 DEBUG [SessionInHandler] Found a header in incoming message,
>> checking if there are endpoints there.
>> DEBUG - GeronimoLog.debug(66) | Received mgmt message for
>> InstanceManagement.{http://www.apache.org/ode/pmapi}resume
>> 17:38:18,944 DEBUG [ManagementService] Received mgmt message for
>> InstanceManagement.{http://www.apache.org/ode/pmapi}resume
>> DEBUG - GeronimoLog.debug(66) | Extracting param class java.lang.Long
>> from
>> <iid>3394</iid>
>> 17:38:18,954 DEBUG [ManagementService] Extracting param class
>> java.lang.Long
>> from <iid>3394</iid>
>>
>> I can turn of debug-mode if you want to and this does not help you...
> 
> 
> You could try setting these two parameters to "true" in your
> axis2.xmlconfiguration:
> 
>     <parameter name="sendStacktraceDetailsWithFaults">true</parameter>
> 
>     <parameter name="DrillDownToRootCauseForFaultReason">true</parameter>
> 

Ok, I have done this. And I found an interesting thing: If I put a correct
instance-id into the request for the method resume, the service works
correctly. If I put an incorrect value into the request, I get following
response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault xmlns:java="java:package java.lang.reflect, Java
Platform API Specification, version 1.5">
        
<faultcode>java:java.lang.reflect.InvocationTargetException</faultcode>
         <faultstring>Invocation of method resume in management interface
failed!</faultstring>
         <detail>
            <Exception>org.apache.ode.axis2.OdeFault: Invocation of method
resume in management interface failed!
	at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:137)
	at
org.apache.ode.axis2.service.ManagementService.access$100(ManagementService.java:69)
	at
org.apache.ode.axis2.service.ManagementService$InstanceMessageReceiver.invokeBusinessLogic(ManagementService.java:236)
	at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
	at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
	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:269)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:114)
	... 22 more
Caused by: org.apache.ode.bpel.pmapi.InvalidRequestException: The process
"null" is available.
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getDebugger(ProcessAndInstanceManagementImpl.java:521)
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getDebugger(ProcessAndInstanceManagementImpl.java:551)
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.resume(ProcessAndInstanceManagementImpl.java:370)
	... 27 more</Exception>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

I think, this is business fault and should return a defined fault. Maybe you
can add wsdl faults for all methods.


Alex Boisvert wrote:
> 
> 
>> Can you try using the value <pid>ibm:cisArchive-27</pid>
>> >
>> > and define a namespace for "ibm", e.g., xmlns:ibm="
>> > http://co.ibm.de.cis/archive"
>> >
>> I have declard the namespace in the bpel-file, deploy the service, start
>> a
>> new instance and try to invoke the getProcessInfo with your notation and
>> there is also the same error with the same stacktrace.
> 
> 
> Did you did the see namespace declared in your SOAP request?  (I can't
> tell
> for sure in your statement above)
> 

Ok, I have done this and I get following response:

request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pmap="http://www.apache.org/ode/pmapi">
   <soapenv:Header/>
   <soapenv:Body>
      <pmap:getProcessInfo>
         <pid
xmlns:ibm="{http://com.ibm.de.cis/archive}">ibm:cisArchive-40</pid>
      </pmap:getProcessInfo>
   </soapenv:Body>
</soapenv:Envelope>

response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault xmlns:java="java:package java.lang.reflect, Java
Platform API Specification, version 1.5">
        
<faultcode>java:java.lang.reflect.InvocationTargetException</faultcode>
         <faultstring>Invocation of method getProcessInfo in management
interface failed!</faultstring>
         <detail>
            <Exception>org.apache.ode.axis2.OdeFault: Invocation of method
getProcessInfo in management interface failed!
	at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:137)
	at
org.apache.ode.axis2.service.ManagementService.access$100(ManagementService.java:69)
	at
org.apache.ode.axis2.service.ManagementService$ProcessMessageReceiver.invokeBusinessLogic(ManagementService.java:229)
	at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
	at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
	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:269)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:114)
	... 22 more
Caused by: org.apache.ode.bpel.pmapi.ProcessNotFoundException:
ProcessNotFound:{{http://com.ibm.de.cis/archive}}cisArchive-40
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.genProcessInfoDocument(ProcessAndInstanceManagementImpl.java:602)
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getProcessInfoCustom(ProcessAndInstanceManagementImpl.java:186)
	at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getProcessInfo(ProcessAndInstanceManagementImpl.java:190)
	... 27 more</Exception>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

I hope this helps... I think, it is the same thing as below.
If I send following request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pmap="http://www.apache.org/ode/pmapi">
   <soapenv:Header/>
   <soapenv:Body>
      <pmap:getProcessInfo>
         <pid
xmlns:ibm="http://com.ibm.de.cis/archive">ibm:cisArchive-40</pid>
      </pmap:getProcessInfo>
   </soapenv:Body>
</soapenv:Envelope>

the method works fine.
Why does this request does not work?

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pmap="http://www.apache.org/ode/pmapi">
   <soapenv:Header/>
   <soapenv:Body>
      <pmap:getProcessInfo>
         <pid>{http://com.ibm.de.cis/archive}cisArchive-40</pid>
      </pmap:getProcessInfo>
   </soapenv:Body>
</soapenv:Envelope>

This would make it easier!
Thanks for your help!




Alex Boisvert wrote:
> 
> alex
> 
> 

-- 
View this message in context: http://www.nabble.com/Errors-in-InstanceManagement-and-ProcessManagement-API-tf4555210.html#a13034805
Sent from the Apache Ode User mailing list archive at Nabble.com.


Mime
View raw message