axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepal jayasinghe <deep...@gmail.com>
Subject Re: [Axis2] upgrading 1.4.1 to 1.6.1. Problems with org.apache.axis2.dispatchers.AddressingBasedDispatcher.java
Date Fri, 11 Nov 2011 00:36:49 GMT
A possible reason would be that you are not sending the SOAP action when
you invoke the service. Could you please check the client code ?

Deepal
> Anybody have any feedback on this?
>
> On Wed, Nov 2, 2011 at 1:46 PM, bpanyarachun <bpanyarachun@gmail.com
> <mailto:bpanyarachun@gmail.com>> wrote:
>
>     Hi all,
>
>     My current software uses axis2 1.4.1 and I am upgrading it to 1.6.1.
>
>     My issue is that while using 1.6.1, whenever I use the axis2
>     validation or deploy/undeploy, I receive the error below with the
>     action being "urn:anonOutInOpResponse".
>
>      ERROR: The [action] cannot be processed at the receiver.
>     org.apache.axis2.AxisFault: The [action] cannot be processed at
>     the receiver.
>         at
>     org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:373)
>         at
>     org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionNotSupportedFault(AddressingFaultsHelper.java:336)
>         at
>     org.apache.axis2.dispatchers.AddressingBasedDispatcher.checkAction(AddressingBasedDispatcher.java:156)
>         at
>     org.apache.axis2.dispatchers.AddressingBasedDispatcher.invoke(AddressingBasedDispatcher.java:140)
>         at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
>         at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
>         at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
>         at
>     org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:182)
>         at
>     org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:147)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>         at
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>         at
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
>     org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
>         at
>     org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
>         at
>     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>         at
>     org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
>         at
>     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>         at
>     org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>         at
>     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
>         at
>     org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
>         at
>     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
>         at
>     org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
>         at
>     java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
>         at
>     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
>         at java.lang.Thread.run(Thread.java:736)
>
>     What my concern here is that I noticed in
>     org.apache.axis2.dispatchers.AddressingBasedDispatcher.java the
>     constant "IS_ADDR_INFO_ALREADY_PROCESSED" is somehow being set to
>     TRUE when being checked at line ~121. I have not been able to
>     figure out where this is happening. I can see that it initially
>     starts as FALSE is
>     org.apache.axis2.handlers.addressing.AddressingInHandler.java at
>     line 79.
>
>     While using axis2 1.4.1, "IS_ADDR_INFO_ALREADY_PROCESSED" always
>     stays FALSE and I do not get this error.
>
>     One solution that I did was to change on line ~125 from
>
>     if (JavaUtils.isTrue(msgctx.getProperty(ADDR_VALIDATE_ACTION), true))
>
>     to
>
>     if (JavaUtils.isTrue(msgctx.getProperty(ADDR_VALIDATE_ACTION), false))
>
>     which will not do checkAction(msgctx) since it will default to FALSE.
>
>     Both installations are identical except for the axis2 versions.
>     I'm not sure why there is a change in behavior with axis2 1.6.1. I
>     know I can solve this issue also by disengaging the addressing
>     module but I'd like to keep use of addressing since I have been
>     able to in 1.4.1. I'd like to know if anyone has any idea about
>     the different behavior that I am seeing and if the solution I have
>     done is acceptable in this situation. Thanks.
>
>
>
>
>
>
>


Mime
View raw message