Can you clarify what Axis is generating an error if <actionMapping> is not
specified? I had commented out the dispatch phase from axis2.xml and it was
still returning a 500. Where is the exception being logged?

I'd like to have more confidence in the solution before investing too much
time in it.



                                                                           
             "Ajith Ranabahu"                                              
             <[EMAIL PROTECTED]                                             
             mail.com>                                                  To 
                                       [email protected]             
             08/16/06 10:59 PM                                          cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis1 style="message" in Axis2? 
             [EMAIL PROTECTED]                                             
                  he.org                                                   
                                                                           
                                                                           
                                                                           
                                                                           




Hi,
Given what you need to do (which is possible ofcourse) it simply
requires a bit more knowledge about the internals of Axis2. I am going
to outline a doable procedure but unfortunatley I don't have the time
to write a lengthy description and elaborate each point.

1. You need to introduce a custom dispatcher (Axis does not enforce
the action but it comes addressing enabled by default). What this
dispatcher does is figuring out the static and runtime service and
operation  'data  bags'. We call them AxisService,AxisOperation and
serviceContext, operationContext. Ultimately your custom dispatcher
should provide the these 'data bags' relevant to your service. Please
have a look at the dispatcher implementations to get an idea of how
these work.

2. Write a custom message receiver. If you generate code for server
side using a simple WSDL you will see the source for a custom message
receiver. Modify the code off that not to find the method using the
action.

That should do it :)

Ajith
On 8/16/06, David Melgar <[EMAIL PROTECTED]> wrote:
> I'm still trying to figure out how to deploy a message style service
> WITHOUT having to declare each possible wsa:Action value which might be
> used on the invocation. Its a message style service... I dont want or
need
> Axis to figure out what method to invoke. There's only one method
> available.
>
> I tried the 1st possible solution mentioned below,
> "1. Remove the dispach phase from your Axis2 configuration and write
> your own MessageReceiver (which removes the need for an AxisOperation
> to be identified)"
>
> I wrote a new message receiver but ran into bigger problems. If I remove
> the <actionMapping> tags in the service's deployment descriptor, my new
> message receiver never gets called. I receive a fault with a response
code
> 500 with no additional information to help diagnose where the problem
> occured. Nothing showed up in Tomcat's catalina.log.
>
> Same problem seems to occur if the wsa:Action header value in the request
> doesn't match the set of <actionMapping> tags for the service.
>
> I tried commenting out the dispatch phase as stated as a suggestion
without
> any difference in behavior.
>
> Suggestions? Is there an easier way to accomplish this? It still appears
to
> me to be an Axis design issue. Axis should not force declaration of
> specific wsa:Action values for a message based service. It could be an
> option, but should not be required. Wildcard or similar should be
> supported.
>
>
>
>
>
>              "David Illsley"
>              <[EMAIL PROTECTED]
>              il.com>
To
>                                        [email protected]
>              07/26/06 02:00 PM
cc
>
>
Subject
>              Please respond to         Re: Axis1 style="message" in
Axis2?
>              [EMAIL PROTECTED]
>                   he.org
>
>
>
>
>
>
>
>
> On 26/07/06, David Melgar <[EMAIL PROTECTED]> wrote:
> >
> >
> > Setting the message receiver to RawXMLMessageReceiver still appears to
> require <actionMapping> to determine which method to invoke. In axis1,
the
> specified method would receive all messages for that service. Equivalent
> behavior should be available in axis2 regardless of the value of the
> wsa:Action header.
> >
> > To further clarrify, the service I'm writing bridges between
webservices
> and a non-Java object invocation mechanism. It dynamically determines
what
> operations are allowed. This services does not know at deployment time
what
> operations are possible. I therefore don't know all the wsa:Action header
> values that it might be included in request messages. Therefore I cannot
> declare <actionMapping> values in the service deployment descriptor. In
> case you're wondering, this service also dynamically generates WSDL to
> describe the discovered supported operations.
> >
> > Is there a way to wildcard <actionMapping> to say that any action maps
to
> a method? Or to avoid the requirement for specifying an actionMapping if
> RawXMLMessageReceiver is used.
> >
> > Are there other approaches that could be used?
>
> What you are trying to do sounds pretty advanced (given that you're
> dynamically generating WSDL).
>
> There are a couple of options I can think of...
> 1. Remove the dispach phase from your Axis2 configuration and write
> your own MessageReceiver (which removes the need for an AxisOperation
> to be identified)
> 2. Define a single operation for the service and add a handler to the
> DispatchPhase which selects that operation when the
> RawXMLInOutReceiver will then invoke on the endpoint object.
>
> David
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Ajith Ranabahu

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to