axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nandika Jayawardana <jayaw...@gmail.com>
Subject Re: Configuring endpoint URL & SOAPAction for WebServices
Date Fri, 15 Oct 2010 16:17:58 GMT
If you look at Axis2, there are 4 methods of dispatching (finding the
operation) namely, addressing based dispatching, soap action based
dispatching, soap body based dispatching and request uri based dispatching.
In the services.xml , you define the operation and the massage receiver is
specified for the operation. using the <messageReceiver name=""/> parameter.
In each of these cases, the operation would be found by the one of the
dispatchers, and invoke the message receiver attached to the operation.
So if you want to invoke different library per operation, you can do that by
specifying different message receivers at operation level.

As I understood , In your case, you are wanting to bypass this operation
dispatching, and want to invoke a separate library based on the service.

Regards
Nandika




On Fri, Oct 15, 2010 at 3:07 PM, Rico M <rickomuer@gmail.com> wrote:

> Hi Nandika,
>
> I am not sure i understand , can you please provide me an example ?
>
> Thanks!
>
>
> On Fri, Oct 15, 2010 at 3:24 AM, Nandika Jayawardana <jayawark@gmail.com>wrote:
>
>> The message receiver is specified for the operation. Hence it would need
>> custom modifications to have the message receiver to specified at service
>> level.
>>
>> Regards
>> Nandika
>>
>> On Thu, Oct 14, 2010 at 3:09 PM, Rico M <rickomuer@gmail.com> wrote:
>>
>>> Sorry to bump this topic again....
>>>
>>> I understand there can be multiple operations at one endpoint. Is there a
>>> way to seperate the calls to a different library
>>>
>>> Services file from Calculator:
>>>
>>> <service name="Calculator">
>>>     <parameter name="ServiceClass"
>>> locked="xsd:false">Calculator</parameter>
>>>
>>>    <description>
>>>         This is a testing service, named 'Calculator' to test dynamic
>>> client
>>>
>>>    </description>
>>>
>>>     <operation name="add">
>>>             <!--messageReceiver class="axis2_receivers" /-->
>>>             <parameter name="wsamapping" >Calculator#add</parameter>
>>>
>>>     </operation>
>>>
>>>     <operation name="sub">
>>>             <!--messageReceiver class="axis2_receivers" /-->
>>>             <parameter name="wsamapping" >Calculator#sub</parameter>
>>>     </operation>
>>>
>>> </service>
>>>
>>>
>>>
>>> Above example separates out the calls at the invoke function based on an
>>> element. Can the call be re-directed to a different library by the
>>> dispatchers themselves ? (i.e. prevent parsing message to find out which
>>> operation was requested) PS : I am dealing with a Non WS* compliant entity.
>>>
>>> What is the significance of messageReceiver ?
>>>
>>> Thanks!
>>>
>>>
>>>
>>> On Wed, Oct 6, 2010 at 5:04 PM, Rico M <rickomuer@gmail.com> wrote:
>>>
>>>> Oh Boy! How did i miss that :)
>>>>
>>>> Thanks damitha :))
>>>>
>>>>
>>>> On Wed, Oct 6, 2010 at 1:59 PM, Damitha Kumarage <damitha@wso2.com>wrote:
>>>>
>>>>> Hi Rico,
>>>>> If you look at the following two lines in the log you sent, you will
>>>>> get the answer.
>>>>>
>>>>>
>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(115) Checking for
>>>>> service using SOAP message body's first child's namespace URI :
>>>>> http://ws.apache.org/axis2/services/math
>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(138) Service found
>>>>> using SOAP messagebody's first child's namespace URI
>>>>>
>>>>> Damitha
>>>>>
>>>>> Rico M wrote:
>>>>>
>>>>>> Thanks damitha,
>>>>>> That does help me get an idea. I was changing the configuration to
>>>>>> understand how the invocation works. I am working with one of the
examples
>>>>>> packaged with axis2 kit - Math.
>>>>>>
>>>>>> I cannot understand the following. axis_install_dir/math/services.xml
>>>>>> has the following entry :
>>>>>>
>>>>>> <service name="math">
>>>>>>    <parameter name="ServiceClass" locked="xsd:false">math</parameter>
>>>>>>   <description>
>>>>>>        This is a testing service, named 'math' to test multiple
>>>>>> operations in the same service
>>>>>>   </description>
>>>>>>    <operation name="add">
>>>>>>            <!--messageReceiver class="axis2_receivers" /-->
>>>>>>    </operation>
>>>>>>    <operation name="sub">
>>>>>>            <!--messageReceiver class="axis2_receivers" /-->
>>>>>>    </operation>
>>>>>>    <operation name="mul">
>>>>>>            <!--messageReceiver class="axis2_receivers" /-->
>>>>>>    </operation>
>>>>>>    <operation name="div">
>>>>>>            <!--messageReceiver class="axis2_receivers" /-->
>>>>>>    </operation>
>>>>>> </service>
>>>>>>
>>>>>>
>>>>>> I understand that the service is invoked with the following EPR :
>>>>>> address = "http://localhost:9090/axis2/services/math";
>>>>>>
>>>>>> Now if i change the following to anything... in my client.....
>>>>>>  math_client.c
>>>>>>
>>>>>> "http://localhost:9090/axis2/services/ccccccccHTNGmathia";
>>>>>>
>>>>>> The invocation is still successful ! I am not sure about this , am
i
>>>>>> missing something ??
>>>>>>
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] apache2_worker.c(241)
>>>>>> http://localhost:9090/axis2/services/ccccccccHTNGmathia
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] apache2_worker.c(299) Client HTTP
>>>>>> version HTTP/1.1
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_builder.c(894) identified
soap
>>>>>> version is soap12
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> request_uri_based_dispatcher within the phase Transport
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] req_uri_disp.c(97) Checking for
>>>>>> service using target endpoint address :
>>>>>> http://localhost:9090/axis2/services/ccccccccHTNGmathia
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> addressing_based_dispatcher within the phase Transport
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] addr_disp.c(103) Checking for
>>>>>> service using WSA enpoint address :
>>>>>> http://localhost:9090/axis2/services/ccccccccHTNGmathia
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> rest_dispatcher within the phase Dispatch
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> soap_message_body_based_dispatcher within the phase Dispatch
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(115) Checking
for
>>>>>> service using SOAP message body's first child's namespace URI :
>>>>>> http://ws.apache.org/axis2/services/math
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(138) Service
found
>>>>>> using SOAP messagebody's first child's namespace URI
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(200) Checking
for
>>>>>> operation using SOAP messagebody's first child's local name : add
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] soap_body_disp.c(207) Operation
>>>>>> found using SOAP message body's first child's local name
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> soap_action_based_dispatcher within the phase Dispatch
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> dispatch_post_conditions_evaluator within the phase PostDispatch
>>>>>> [Wed Oct  6 11:45:52 2010] [debug] phase.c(202) Invoke the handler
>>>>>> context_handler within the phase PostDispatch
>>>>>> [Wed Oct  6 11:45:52 2010] [warning] msg_ctx.c(1384) session-table
not
>>>>>> set in message context
>>>>>>
>>>>>> Thanks & Regards!
>>>>>>
>>>>>>
>>>>>> On Wed, Sep 29, 2010 at 2:03 AM, Damitha Kumarage <damitha@wso2.com<mailto:
>>>>>> damitha@wso2.com>> wrote:
>>>>>>
>>>>>>    Does this answer [1] and [2] your question?
>>>>>>    Thanks,
>>>>>>    Damitha
>>>>>>
>>>>>>    [1] http://wso2.org/library/176
>>>>>>    [2]
>>>>>>
>>>>>> http://damithakumarage.wordpress.com/2008/02/12/soap-action-and-addressing-action/
>>>>>>
>>>>>>    Rico M wrote:
>>>>>>
>>>>>>        Hi,
>>>>>>
>>>>>>        I wanted to understand how endpoints & soap action are
used to
>>>>>>        call a
>>>>>>        web service in axis2c. For ex:  I am reaching an endpoint
:
>>>>>>        http://abc.org and calling the soapAction :
>>>>>>        http://mno.org/ServiceA.
>>>>>>        How can the following be configured in my webserver ? All
>>>>>> current
>>>>>>        calls I am making are via a endpoint url which doubles for
>>>>>>        both action
>>>>>>        &  endpoint URL : http://localhost:90/services/hello.
>>>>>>
>>>>>>        <service name="hello">
>>>>>>         <parameter name="ServiceClass"
>>>>>>        locked="xsd:false">hello</parameter>
>>>>>>         <description>
>>>>>>          Quick start guide hello service sample.
>>>>>>           </description>
>>>>>>            <operation name="greet"/>
>>>>>>         </service>
>>>>>>
>>>>>>
>>>>>>        Cheers!
>>>>>>
>>>>>>
>>>>>>  ---------------------------------------------------------------------
>>>>>>        To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
>>>>>>        <mailto:c-user-unsubscribe@axis.apache.org>
>>>>>>
>>>>>>        For additional commands, e-mail: c-user-help@axis.apache.org
>>>>>>        <mailto:c-user-help@axis.apache.org>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>    --
>>>>>> __________________________________________________________________
>>>>>>
>>>>>>    Damitha Kumarage
>>>>>>    Technical Lead; WSO2 Inc.
>>>>>>    "Oxygenating the Web Service Platform; " http://www.wso2.com/
>>>>>>
>>>>>>    blog: " http://damithakumarage.wordpress.com/
>>>>>>    __________________________________________________________________
>>>>>>
>>>>>>
>>>>>>  ---------------------------------------------------------------------
>>>>>>    To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
>>>>>>    <mailto:c-user-unsubscribe@axis.apache.org>
>>>>>>
>>>>>>    For additional commands, e-mail: c-user-help@axis.apache.org
>>>>>>    <mailto:c-user-help@axis.apache.org>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> __________________________________________________________________
>>>>>
>>>>> Damitha Kumarage
>>>>> Technical Lead; WSO2 Inc.
>>>>> "Oxygenating the Web Service Platform; " http://www.wso2.com/
>>>>>
>>>>> blog: " http://damithakumarage.wordpress.com/
>>>>> __________________________________________________________________
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
>>>>> For additional commands, e-mail: c-user-help@axis.apache.org
>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message