You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by vamsi krishna <va...@yahoo.com> on 2008/05/19 08:17:37 UTC

Axis2C - Clarification needed

  Hi,
      I started to use Axis2C tool recently. I need the following clarifications regarding the same:    
      1. How are Axiom, Stax and LibXML2 related in Axis2C?
      2. Given a structure for Serialization, what is the flow of serialization in terms of Axiom, Stax and LibXML2?
      3. Where exactly is the pull parsing machanism implemented in the code?
      4. How does Axis2C supports REST? When I tried to see the backtrace (on GDB) of a soap request sample [of Calculator sample] and the rest request sample [echo_rest sample], I got exactly same dump for both the flows. Please help me understand the implementation for REST support.
   
      5. what is the purpose of the auxutil_env_t structure? this structure is passed in all the functions of axis2c.
      6. What is the purpose of axis2_stub_t structure? 
      7. Given a WSDL, once we convert them to respective .h and .c files using the WSDL2C.sh script, how do we go about developing the client side code? do we have any specific way to write the client side code?
      8. I have read some article which says Every component of Axis2C is pluggable [Transport, XML, Parser, Memory machanisms, etc]. but, no where did i found the procedure to do this. Please help me out in understanding the pluggability and how can i play with the tool to add my own pluggable components.
      9. Please suggest me any book/online links/any reference material to be able to understand the Axis2C tool better and start consuming the webservices. Even after going through the complete set of links on the official website of Axis2C, I am unable to explain the concepts to my peers and am unable to write a piece of code to consume the webservices available on internet. 
   
          Please do this favour by clearing all the doubts above and make me understand the tool better and have me part of your group. 
   
       Eagerly waiting for your reply.
   
  Thanks and Regards,
  Vamsi Krishna M


Vamsi, IIIT-Hyd.


       

Re: Axis2C - Clarification needed

Posted by vamsi krishna <va...@yahoo.com>.
Hi Dimuthu/Samisa,
          Nice to see your responses. Thanks.
   
           I read Axis2c handles the REST request aswell by just chaning the config file axis.xml or through the function axis2_options_set_enable_rest(...). 
   
          1. Does this tool handles the REST requests? 
          2. How to test the REST handling? 
          3. How to compare the SOAP code flow and REST code flow? 
          4. Manjula: What do you mean by REST like REST support in your response "Axis2/C 1.3 and 1.4 have REST like REST support. Please see the echo_rest sample of those releases." for my question number 4 in the below thread. 
   
  I tried to figure out the difference in following ways:
          A. When I tried to see the backtrace (on GDB) of a soap request sample [of Calculator sample] and the rest request sample [echo_rest sample], I got exactly same dump for both
the flows. 
          B. When i tried to print out the request message constructed in echo_rest.c it printed me: 
  <ns1:echoString xmlns:ns1="Hello'>http://ws.apache.org/axis2/services/echo"><text>Hello World!</text></ns1:echoString>
   
              Now I commented the axis2_options_set_enable_rest(...) statement and tried to print the same request message constructed and got the following message printed:
  <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Header/><soapenv:Body><ns1:echoString xmlns:ns1="Hello'>http://ws.apache.org/axis2/services/echo"><text>Hello World!</text></ns1:echoString></soapenv:Body></soapenv:Envelope>
              Is this what the difference is? Is this the REST request which got printed?
   
  FYI: I am using the Axis2/C 1.3.0 version.
   
              Eagerly waiting for your response.
   
  Thanks & Regards,
  Vamsi Krishna M

   
  

Dimuthu Gamage <di...@gmail.com> wrote:
  Hi ,
If you want a tutorial on using stubs and skels with the codegen tool,
just visit here, http://wso2.org/library/3534

Thanks
Dimuthu

On Mon, May 19, 2008 at 10:11 PM, Samisa Abeysinghe wrote:
> vamsi krishna wrote:
>>
>> Hi Manjula and Dimuthu,
>> Thanks a lot for the response.
>> 1. Manjula, do you mean LibXML2 is not of pull parsing
>> machanism? if yes, How is Axiom model achieving the advantage of full
>> parsing machanism with LibXML2 as a default parser?
>
> Libxml2 has a Pull API. We use that and wrap it with an StAX like API.
>
>> 2. If pull parsing machanism is not related to LibXML2 or
>> Guththilla parsers, where is it implemented?
>
> As mentioned libxml2 has a pull API, and so does guththila. Guththila
> implements StAX like behavior ground up, where as the wrapper does the job
> in case of libxml2.
>
>> 3. If it is implemented in Guthilla parser through Stax
>> machanism and not in libxml2? How is Axiom model advatageous with libxml2 as
>> a default parser? Why should we have a Axiom model at all? do we have any
>> other advantages of using Axiom model other than pull parsing machanism?
>
> If you look at the Axis2 architecture, it is based on the XML in-out model.
> The pull model becomes advantages, in the fact that, you parse to the point
> that you need, and leave the rest as it is. This is quite useful if you want
> to just look at the headers and route the messages. Also helps with "doing
> the work, when it really matters" scenarios.
>
> AXIOM model is important, because all the handlers of the engine expect to
> see the message in that form. Being able to pull is one important feature of
> AXIOM. That is one of the key performance secrets of Axis2.
>
> Samisa...
>
>> Sorry if the doubts are trivial but i very badly need the
>> answers. Waiting for your response.
>> Thanks and regards,
>> Vamsi Krishna M
>>
>>
>> */Manjula Peiris /* wrote:
>>
>>
>> On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
>> > Answering some of the question that I m bit familiar with,
>> >
>> > On Mon, May 19, 2008 at 11:47 AM, vamsi krishna wrote:
>> > > Hi,
>> > > I started to use Axis2C tool recently. I need the following
>> > > clarifications regarding the same:
>> > > 1. How are Axiom, Stax and LibXML2 related in Axis2C?
>>
>> Axiom is the XML model used in Axis2/C. That means any piece of valid
>> XML document is represented as an Axiom object inside Axis2/C engine.
>> Axis2/C can be used with two parsers. The default Guththila XML parser
>> or libxml2 parser. Guththila is a stax parser.
>>
>> > > 2. Given a structure for Serialization, what is the flow of
>> > > serialization in terms of Axiom, Stax and LibXML2?
>> > > 3. Where exactly is the pull parsing machanism implemented in
>> the code?
>> > > 4. How does Axis2C supports REST? When I tried to see the
>> backtrace (on
>> > > GDB) of a soap request sample [of Calculator sample] and the
>> rest request
>> > > sample [echo_rest sample], I got exactly same dump for both
>> the flows.
>> > > Please help me understand the implementation for REST support.
>>
>> Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
>> echo_rest sample of those releases.
>>
>> > >
>> > > 5. what is the purpose of the auxutil_env_t structure? this
>> structure is
>> > > passed in all the functions of axis2c.
>> >
>> > env structure keeps information on logging, memory management and
>> > threading aspects. The idea is you can plug any logging or memory
>> > management implementations to axis2 using axis2_env_t structure.
>> This
>> > has been used in embedding effort of axis2 to php, ruby and other
>> > languages.
>> >
>> > > 6. What is the purpose of axis2_stub_t structure?
>> >
>> > It keeps user option and the service client structure which keep
>> > information on invoking the service. Normally to customize the
>> service
>> > call (i.e. to enable mtom, addressing, etc..), you take out the
>> option
>> > structure using axis2_stub_get_options and set the values to the
>> > axis2_options structure
>> >
>> > > 7. Given a WSDL, once we convert them to respective .h and .c
>> files
>> > > using the WSDL2C.sh script, how do we go about developing the
>> client side
>> > > code? do we have any specific way to write the client side code?
>> >
>> > There are samples about using generated code in the samples/codegen
>> > directory
>>
>> (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
>> >
>> > > 8. I have read some article which says Every component of
>> Axis2C is
>> > > pluggable [Transport, XML, Parser, Memory machanisms, etc].
>> but, no where
>> > > did i found the procedure to do this. Please help me out in
>> understanding
>> > > the pluggability and how can i play with the tool to add my
>> own pluggable
>> > > components.
>> Following is an article on plugging your own memory mechanism.
>> http://wso2.org/library/3412
>>
>> You need to implement that Transport and plug in to Axis2/C. Axis2/C
>> currently support HTTP, TCP and XMPP transports. Please have a look at
>> Axis2/C TCP transport implementation.
>>
>> https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp
>>
>> In order to plug your Parser you need to implement the parser wrapper
>> layer . Following is an example.
>>
>> https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2
>>
>>
>>
>> > > 9. Please suggest me any book/online links/any reference
>> material to be
>> > > able to understand the Axis2C tool better and start consuming the
>> > > webservices. Even after going through the complete set of
>> links on the
>> > > official website of Axis2C, I am unable to explain the
>> concepts to my peers
>> > > and am unable to write a piece of code to consume the
>> webservices available
>> > > on internet.
>> >
>> > You may find some resources here, http://wso2.org/taxonomy/term/254
>>
>> The Axis2/C manual is here,
>> http://ws.apache.org/axis2/c/docs/axis2c_manual.html
>>
>> >
>> >
>> > Thanks
>> > Dimuthu
>> >
>> > >
>> > > Please do this favour by clearing all the doubts above and make me
>> > > understand the tool better and have me part of your group.
>> > >
>> > > Eagerly waiting for your reply.
>> > >
>> > > Thanks and Regards,
>> > > Vamsi Krishna M
>> > >
>> > > Vamsi, IIIT-Hyd.
>> >
>> >
>> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> > For additional commands, e-mail: axis-c-user-help@ws.apache.org
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>
>>
>> Vamsi, IIIT-Hyd.
>>
>> ------------------------------------------------------------------------
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.20/1453 -
>> Release Date: 5/18/2008 9:31 AM
>>
>
>
> --
> Samisa Abeysinghe Director, Engineering; WSO2 Inc.
>
> http://www.wso2.com/ - "The Open Source SOA Company"
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org




Vamsi, IIIT-Hyd.


       

Re: Axis2C - Clarification needed

Posted by vamsi krishna <va...@yahoo.com>.
Hi Dimuthu/Samisa,
          Nice to see your responses. Thanks.
   
           I read Axis2c handles the REST request aswell by just chaning the config file axis.xml or through the function axis2_options_set_enable_rest(...). 
   
          1. Does this tool handles the REST requests? 
          2. How to test the REST handling? 
          3. How to compare the SOAP code flow and REST code flow? 
          4. Manjula: What do you mean by REST like REST support in your response "Axis2/C 1.3 and 1.4 have REST like REST support. Please see the echo_rest sample of those releases." for my question number 4 in the below thread. 
   
  I tried to figure out the difference in following ways:
          A. When I tried to see the backtrace (on GDB) of a soap request sample [of Calculator sample] and the rest request sample [echo_rest sample], I got exactly same dump for both
the flows. 
          B. When i tried to print out the request message constructed in echo_rest.c it printed me: 
  <ns1:echoString xmlns:ns1="http://ws.apache.org/axis2/services/echo"><text>Hello World!</text></ns1:echoString>
   
              Now I commented the axis2_options_set_enable_rest(...) statement and tried to print the same request message constructed and got the following message printed:
  <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Header/><soapenv:Body><ns1:echoString xmlns:ns1="http://ws.apache.org/axis2/services/echo"><text>Hello World!</text></ns1:echoString></soapenv:Body></soapenv:Envelope>
              Is this what the difference is? Is this the REST request which got printed?
   
  FYI: I am using the Axis2/C 1.3.0 version.
   
              Eagerly waiting for your response.
   
  Thanks & Regards,
  Vamsi Krishna M

   
  

Dimuthu Gamage <di...@gmail.com> wrote:
  Hi ,
If you want a tutorial on using stubs and skels with the codegen tool,
just visit here, http://wso2.org/library/3534

Thanks
Dimuthu

On Mon, May 19, 2008 at 10:11 PM, Samisa Abeysinghe wrote:
> vamsi krishna wrote:
>>
>> Hi Manjula and Dimuthu,
>> Thanks a lot for the response.
>> 1. Manjula, do you mean LibXML2 is not of pull parsing
>> machanism? if yes, How is Axiom model achieving the advantage of full
>> parsing machanism with LibXML2 as a default parser?
>
> Libxml2 has a Pull API. We use that and wrap it with an StAX like API.
>
>> 2. If pull parsing machanism is not related to LibXML2 or
>> Guththilla parsers, where is it implemented?
>
> As mentioned libxml2 has a pull API, and so does guththila. Guththila
> implements StAX like behavior ground up, where as the wrapper does the job
> in case of libxml2.
>
>> 3. If it is implemented in Guthilla parser through Stax
>> machanism and not in libxml2? How is Axiom model advatageous with libxml2 as
>> a default parser? Why should we have a Axiom model at all? do we have any
>> other advantages of using Axiom model other than pull parsing machanism?
>
> If you look at the Axis2 architecture, it is based on the XML in-out model.
> The pull model becomes advantages, in the fact that, you parse to the point
> that you need, and leave the rest as it is. This is quite useful if you want
> to just look at the headers and route the messages. Also helps with "doing
> the work, when it really matters" scenarios.
>
> AXIOM model is important, because all the handlers of the engine expect to
> see the message in that form. Being able to pull is one important feature of
> AXIOM. That is one of the key performance secrets of Axis2.
>
> Samisa...
>
>> Sorry if the doubts are trivial but i very badly need the
>> answers. Waiting for your response.
>> Thanks and regards,
>> Vamsi Krishna M
>>
>>
>> */Manjula Peiris /* wrote:
>>
>>
>> On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
>> > Answering some of the question that I m bit familiar with,
>> >
>> > On Mon, May 19, 2008 at 11:47 AM, vamsi krishna wrote:
>> > > Hi,
>> > > I started to use Axis2C tool recently. I need the following
>> > > clarifications regarding the same:
>> > > 1. How are Axiom, Stax and LibXML2 related in Axis2C?
>>
>> Axiom is the XML model used in Axis2/C. That means any piece of valid
>> XML document is represented as an Axiom object inside Axis2/C engine.
>> Axis2/C can be used with two parsers. The default Guththila XML parser
>> or libxml2 parser. Guththila is a stax parser.
>>
>> > > 2. Given a structure for Serialization, what is the flow of
>> > > serialization in terms of Axiom, Stax and LibXML2?
>> > > 3. Where exactly is the pull parsing machanism implemented in
>> the code?
>> > > 4. How does Axis2C supports REST? When I tried to see the
>> backtrace (on
>> > > GDB) of a soap request sample [of Calculator sample] and the
>> rest request
>> > > sample [echo_rest sample], I got exactly same dump for both
>> the flows.
>> > > Please help me understand the implementation for REST support.
>>
>> Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
>> echo_rest sample of those releases.
>>
>> > >
>> > > 5. what is the purpose of the auxutil_env_t structure? this
>> structure is
>> > > passed in all the functions of axis2c.
>> >
>> > env structure keeps information on logging, memory management and
>> > threading aspects. The idea is you can plug any logging or memory
>> > management implementations to axis2 using axis2_env_t structure.
>> This
>> > has been used in embedding effort of axis2 to php, ruby and other
>> > languages.
>> >
>> > > 6. What is the purpose of axis2_stub_t structure?
>> >
>> > It keeps user option and the service client structure which keep
>> > information on invoking the service. Normally to customize the
>> service
>> > call (i.e. to enable mtom, addressing, etc..), you take out the
>> option
>> > structure using axis2_stub_get_options and set the values to the
>> > axis2_options structure
>> >
>> > > 7. Given a WSDL, once we convert them to respective .h and .c
>> files
>> > > using the WSDL2C.sh script, how do we go about developing the
>> client side
>> > > code? do we have any specific way to write the client side code?
>> >
>> > There are samples about using generated code in the samples/codegen
>> > directory
>>
>> (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
>> >
>> > > 8. I have read some article which says Every component of
>> Axis2C is
>> > > pluggable [Transport, XML, Parser, Memory machanisms, etc].
>> but, no where
>> > > did i found the procedure to do this. Please help me out in
>> understanding
>> > > the pluggability and how can i play with the tool to add my
>> own pluggable
>> > > components.
>> Following is an article on plugging your own memory mechanism.
>> http://wso2.org/library/3412
>>
>> You need to implement that Transport and plug in to Axis2/C. Axis2/C
>> currently support HTTP, TCP and XMPP transports. Please have a look at
>> Axis2/C TCP transport implementation.
>>
>> https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp
>>
>> In order to plug your Parser you need to implement the parser wrapper
>> layer . Following is an example.
>>
>> https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2
>>
>>
>>
>> > > 9. Please suggest me any book/online links/any reference
>> material to be
>> > > able to understand the Axis2C tool better and start consuming the
>> > > webservices. Even after going through the complete set of
>> links on the
>> > > official website of Axis2C, I am unable to explain the
>> concepts to my peers
>> > > and am unable to write a piece of code to consume the
>> webservices available
>> > > on internet.
>> >
>> > You may find some resources here, http://wso2.org/taxonomy/term/254
>>
>> The Axis2/C manual is here,
>> http://ws.apache.org/axis2/c/docs/axis2c_manual.html
>>
>> >
>> >
>> > Thanks
>> > Dimuthu
>> >
>> > >
>> > > Please do this favour by clearing all the doubts above and make me
>> > > understand the tool better and have me part of your group.
>> > >
>> > > Eagerly waiting for your reply.
>> > >
>> > > Thanks and Regards,
>> > > Vamsi Krishna M
>> > >
>> > > Vamsi, IIIT-Hyd.
>> >
>> >
>> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> > For additional commands, e-mail: axis-c-user-help@ws.apache.org
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>
>>
>> Vamsi, IIIT-Hyd.
>>
>> ------------------------------------------------------------------------
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.20/1453 -
>> Release Date: 5/18/2008 9:31 AM
>>
>
>
> --
> Samisa Abeysinghe Director, Engineering; WSO2 Inc.
>
> http://www.wso2.com/ - "The Open Source SOA Company"
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org




Vamsi, IIIT-Hyd.


       

Re: Axis2C - Clarification needed

Posted by Dimuthu Gamage <di...@gmail.com>.
Hi ,
If you want a tutorial on using stubs and skels with the codegen tool,
just visit here, http://wso2.org/library/3534

Thanks
Dimuthu

On Mon, May 19, 2008 at 10:11 PM, Samisa Abeysinghe <sa...@wso2.com> wrote:
> vamsi krishna wrote:
>>
>> Hi Manjula and Dimuthu,
>>           Thanks a lot for the response.
>>           1. Manjula, do you mean LibXML2 is not of pull parsing
>> machanism? if yes, How is Axiom model achieving the advantage of full
>> parsing machanism with LibXML2 as a default parser?
>
>   Libxml2 has a Pull API. We use that and wrap it with an StAX like API.
>
>>           2. If pull parsing machanism is not related to LibXML2 or
>> Guththilla parsers, where is it implemented?
>
> As mentioned libxml2 has a pull API, and so does guththila. Guththila
> implements StAX like behavior ground up, where as the wrapper does the job
> in case of libxml2.
>
>>           3. If it is implemented in Guthilla parser through Stax
>> machanism and not in libxml2? How is Axiom model advatageous with libxml2 as
>> a default parser? Why should we have a Axiom model at all? do we have any
>> other advantages of using Axiom model other than pull parsing machanism?
>
> If you look at the Axis2 architecture, it is based on the XML in-out model.
> The pull model becomes advantages, in the fact that, you parse to the point
> that you need, and leave the rest as it is. This is quite useful if you want
> to just look at the headers and route the messages. Also helps with "doing
> the work, when it really matters" scenarios.
>
> AXIOM model is important, because all the handlers of the engine expect to
> see the message in that form. Being able to pull is one important feature of
> AXIOM. That is one of the key performance secrets of Axis2.
>
> Samisa...
>
>>             Sorry if the doubts are trivial but i very badly need the
>> answers. Waiting for your response.
>>  Thanks and regards,
>> Vamsi Krishna M
>>
>>
>> */Manjula Peiris <ma...@wso2.com>/* wrote:
>>
>>
>>    On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
>>    > Answering some of the question that I m bit familiar with,
>>    >
>>    > On Mon, May 19, 2008 at 11:47 AM, vamsi krishna wrote:
>>    > > Hi,
>>    > > I started to use Axis2C tool recently. I need the following
>>    > > clarifications regarding the same:
>>    > > 1. How are Axiom, Stax and LibXML2 related in Axis2C?
>>
>>    Axiom is the XML model used in Axis2/C. That means any piece of valid
>>    XML document is represented as an Axiom object inside Axis2/C engine.
>>    Axis2/C can be used with two parsers. The default Guththila XML parser
>>    or libxml2 parser. Guththila is a stax parser.
>>
>>    > > 2. Given a structure for Serialization, what is the flow of
>>    > > serialization in terms of Axiom, Stax and LibXML2?
>>    > > 3. Where exactly is the pull parsing machanism implemented in
>>    the code?
>>    > > 4. How does Axis2C supports REST? When I tried to see the
>>    backtrace (on
>>    > > GDB) of a soap request sample [of Calculator sample] and the
>>    rest request
>>    > > sample [echo_rest sample], I got exactly same dump for both
>>    the flows.
>>    > > Please help me understand the implementation for REST support.
>>
>>    Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
>>    echo_rest sample of those releases.
>>
>>    > >
>>    > > 5. what is the purpose of the auxutil_env_t structure? this
>>    structure is
>>    > > passed in all the functions of axis2c.
>>    >
>>    > env structure keeps information on logging, memory management and
>>    > threading aspects. The idea is you can plug any logging or memory
>>    > management implementations to axis2 using axis2_env_t structure.
>>    This
>>    > has been used in embedding effort of axis2 to php, ruby and other
>>    > languages.
>>    >
>>    > > 6. What is the purpose of axis2_stub_t structure?
>>    >
>>    > It keeps user option and the service client structure which keep
>>    > information on invoking the service. Normally to customize the
>>    service
>>    > call (i.e. to enable mtom, addressing, etc..), you take out the
>>    option
>>    > structure using axis2_stub_get_options and set the values to the
>>    > axis2_options structure
>>    >
>>    > > 7. Given a WSDL, once we convert them to respective .h and .c
>>    files
>>    > > using the WSDL2C.sh script, how do we go about developing the
>>    client side
>>    > > code? do we have any specific way to write the client side code?
>>    >
>>    > There are samples about using generated code in the samples/codegen
>>    > directory
>>
>>  (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
>>    >
>>    > > 8. I have read some article which says Every component of
>>    Axis2C is
>>    > > pluggable [Transport, XML, Parser, Memory machanisms, etc].
>>    but, no where
>>    > > did i found the procedure to do this. Please help me out in
>>    understanding
>>    > > the pluggability and how can i play with the tool to add my
>>    own pluggable
>>    > > components.
>>    Following is an article on plugging your own memory mechanism.
>>    http://wso2.org/library/3412
>>
>>    You need to implement that Transport and plug in to Axis2/C. Axis2/C
>>    currently support HTTP, TCP and XMPP transports. Please have a look at
>>    Axis2/C TCP transport implementation.
>>
>>  https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp
>>
>>    In order to plug your Parser you need to implement the parser wrapper
>>    layer . Following is an example.
>>
>>  https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2
>>
>>
>>
>>    > > 9. Please suggest me any book/online links/any reference
>>    material to be
>>    > > able to understand the Axis2C tool better and start consuming the
>>    > > webservices. Even after going through the complete set of
>>    links on the
>>    > > official website of Axis2C, I am unable to explain the
>>    concepts to my peers
>>    > > and am unable to write a piece of code to consume the
>>    webservices available
>>    > > on internet.
>>    >
>>    > You may find some resources here, http://wso2.org/taxonomy/term/254
>>
>>    The Axis2/C manual is here,
>>    http://ws.apache.org/axis2/c/docs/axis2c_manual.html
>>
>>    >
>>    >
>>    > Thanks
>>    > Dimuthu
>>    >
>>    > >
>>    > > Please do this favour by clearing all the doubts above and make me
>>    > > understand the tool better and have me part of your group.
>>    > >
>>    > > Eagerly waiting for your reply.
>>    > >
>>    > > Thanks and Regards,
>>    > > Vamsi Krishna M
>>    > >
>>    > > Vamsi, IIIT-Hyd.
>>    >
>>    >
>>    ---------------------------------------------------------------------
>>    > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>    > For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>    >
>>
>>
>>    ---------------------------------------------------------------------
>>    To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>    For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>
>>
>> Vamsi, IIIT-Hyd.
>>
>> ------------------------------------------------------------------------
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.20/1453 -
>> Release Date: 5/18/2008 9:31 AM
>>
>
>
> --
> Samisa Abeysinghe Director, Engineering; WSO2 Inc.
>
> http://www.wso2.com/ - "The Open Source SOA Company"
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Axis2C - Clarification needed

Posted by Samisa Abeysinghe <sa...@wso2.com>.
vamsi krishna wrote:
> Hi Manjula and Dimuthu,
>            Thanks a lot for the response.
>            1. Manjula, do you mean LibXML2 is not of pull parsing 
> machanism? if yes, How is Axiom model achieving the advantage of full 
> parsing machanism with LibXML2 as a default parser?
    Libxml2 has a Pull API. We use that and wrap it with an StAX like API.

>            2. If pull parsing machanism is not related to LibXML2 or 
> Guththilla parsers, where is it implemented?

As mentioned libxml2 has a pull API, and so does guththila. Guththila 
implements StAX like behavior ground up, where as the wrapper does the 
job in case of libxml2.

>            3. If it is implemented in Guthilla parser through Stax 
> machanism and not in libxml2? How is Axiom model advatageous with 
> libxml2 as a default parser? Why should we have a Axiom model at all? 
> do we have any other advantages of using Axiom model other than pull 
> parsing machanism?

If you look at the Axis2 architecture, it is based on the XML in-out 
model. The pull model becomes advantages, in the fact that, you parse to 
the point that you need, and leave the rest as it is. This is quite 
useful if you want to just look at the headers and route the messages. 
Also helps with "doing the work, when it really matters" scenarios.

AXIOM model is important, because all the handlers of the engine expect 
to see the message in that form. Being able to pull is one important 
feature of AXIOM. That is one of the key performance secrets of Axis2.

Samisa...

>  
>            Sorry if the doubts are trivial but i very badly need the 
> answers. Waiting for your response.
>  
> Thanks and regards,
> Vamsi Krishna M
>  
>           
>
>
> */Manjula Peiris <ma...@wso2.com>/* wrote:
>
>
>     On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
>     > Answering some of the question that I m bit familiar with,
>     >
>     > On Mon, May 19, 2008 at 11:47 AM, vamsi krishna wrote:
>     > > Hi,
>     > > I started to use Axis2C tool recently. I need the following
>     > > clarifications regarding the same:
>     > > 1. How are Axiom, Stax and LibXML2 related in Axis2C?
>
>     Axiom is the XML model used in Axis2/C. That means any piece of valid
>     XML document is represented as an Axiom object inside Axis2/C engine.
>     Axis2/C can be used with two parsers. The default Guththila XML parser
>     or libxml2 parser. Guththila is a stax parser.
>
>     > > 2. Given a structure for Serialization, what is the flow of
>     > > serialization in terms of Axiom, Stax and LibXML2?
>     > > 3. Where exactly is the pull parsing machanism implemented in
>     the code?
>     > > 4. How does Axis2C supports REST? When I tried to see the
>     backtrace (on
>     > > GDB) of a soap request sample [of Calculator sample] and the
>     rest request
>     > > sample [echo_rest sample], I got exactly same dump for both
>     the flows.
>     > > Please help me understand the implementation for REST support.
>
>     Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
>     echo_rest sample of those releases.
>
>     > >
>     > > 5. what is the purpose of the auxutil_env_t structure? this
>     structure is
>     > > passed in all the functions of axis2c.
>     >
>     > env structure keeps information on logging, memory management and
>     > threading aspects. The idea is you can plug any logging or memory
>     > management implementations to axis2 using axis2_env_t structure.
>     This
>     > has been used in embedding effort of axis2 to php, ruby and other
>     > languages.
>     >
>     > > 6. What is the purpose of axis2_stub_t structure?
>     >
>     > It keeps user option and the service client structure which keep
>     > information on invoking the service. Normally to customize the
>     service
>     > call (i.e. to enable mtom, addressing, etc..), you take out the
>     option
>     > structure using axis2_stub_get_options and set the values to the
>     > axis2_options structure
>     >
>     > > 7. Given a WSDL, once we convert them to respective .h and .c
>     files
>     > > using the WSDL2C.sh script, how do we go about developing the
>     client side
>     > > code? do we have any specific way to write the client side code?
>     >
>     > There are samples about using generated code in the samples/codegen
>     > directory
>     (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
>     >
>     > > 8. I have read some article which says Every component of
>     Axis2C is
>     > > pluggable [Transport, XML, Parser, Memory machanisms, etc].
>     but, no where
>     > > did i found the procedure to do this. Please help me out in
>     understanding
>     > > the pluggability and how can i play with the tool to add my
>     own pluggable
>     > > components.
>     Following is an article on plugging your own memory mechanism.
>     http://wso2.org/library/3412
>
>     You need to implement that Transport and plug in to Axis2/C. Axis2/C
>     currently support HTTP, TCP and XMPP transports. Please have a look at
>     Axis2/C TCP transport implementation.
>     https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp
>
>     In order to plug your Parser you need to implement the parser wrapper
>     layer . Following is an example.
>     https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2
>
>
>
>     > > 9. Please suggest me any book/online links/any reference
>     material to be
>     > > able to understand the Axis2C tool better and start consuming the
>     > > webservices. Even after going through the complete set of
>     links on the
>     > > official website of Axis2C, I am unable to explain the
>     concepts to my peers
>     > > and am unable to write a piece of code to consume the
>     webservices available
>     > > on internet.
>     >
>     > You may find some resources here, http://wso2.org/taxonomy/term/254
>
>     The Axis2/C manual is here,
>     http://ws.apache.org/axis2/c/docs/axis2c_manual.html
>
>     >
>     >
>     > Thanks
>     > Dimuthu
>     >
>     > >
>     > > Please do this favour by clearing all the doubts above and make me
>     > > understand the tool better and have me part of your group.
>     > >
>     > > Eagerly waiting for your reply.
>     > >
>     > > Thanks and Regards,
>     > > Vamsi Krishna M
>     > >
>     > > Vamsi, IIIT-Hyd.
>     >
>     >
>     ---------------------------------------------------------------------
>     > To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>     > For additional commands, e-mail: axis-c-user-help@ws.apache.org
>     >
>
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>     For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
>
>
> Vamsi, IIIT-Hyd.
>
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG. 
> Version: 8.0.100 / Virus Database: 269.23.20/1453 - Release Date: 5/18/2008 9:31 AM
>   


-- 
Samisa Abeysinghe 
Director, Engineering; WSO2 Inc.

http://www.wso2.com/ - "The Open Source SOA Company"


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Axis2C - Clarification needed

Posted by vamsi krishna <va...@yahoo.com>.
Hi Manjula and Dimuthu,
             Thanks a lot for the response. 
             1. Manjula, do you mean LibXML2 is not of pull parsing machanism? if yes, How is Axiom model achieving the advantage of full parsing machanism with LibXML2 as a default parser? 
             2. If pull parsing machanism is not related to LibXML2 or Guththilla parsers, where is it implemented? 
             3. If it is implemented in Guthilla parser through Stax machanism and not in libxml2? How is Axiom model advatageous with libxml2 as a default parser? Why should we have a Axiom model at all? do we have any other advantages of using Axiom model other than pull parsing machanism? 
   
             Sorry if the doubts are trivial but i very badly need the answers. Waiting for your response.
   
  Thanks and regards,
  Vamsi Krishna M
   
             
  

Manjula Peiris <ma...@wso2.com> wrote:
  
On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
> Answering some of the question that I m bit familiar with,
> 
> On Mon, May 19, 2008 at 11:47 AM, vamsi krishna wrote:
> > Hi,
> > I started to use Axis2C tool recently. I need the following
> > clarifications regarding the same:
> > 1. How are Axiom, Stax and LibXML2 related in Axis2C?

Axiom is the XML model used in Axis2/C. That means any piece of valid
XML document is represented as an Axiom object inside Axis2/C engine.
Axis2/C can be used with two parsers. The default Guththila XML parser
or libxml2 parser. Guththila is a stax parser.

> > 2. Given a structure for Serialization, what is the flow of
> > serialization in terms of Axiom, Stax and LibXML2?
> > 3. Where exactly is the pull parsing machanism implemented in the code?
> > 4. How does Axis2C supports REST? When I tried to see the backtrace (on
> > GDB) of a soap request sample [of Calculator sample] and the rest request
> > sample [echo_rest sample], I got exactly same dump for both the flows.
> > Please help me understand the implementation for REST support.

Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
echo_rest sample of those releases.

> >
> > 5. what is the purpose of the auxutil_env_t structure? this structure is
> > passed in all the functions of axis2c.
> 
> env structure keeps information on logging, memory management and
> threading aspects. The idea is you can plug any logging or memory
> management implementations to axis2 using axis2_env_t structure. This
> has been used in embedding effort of axis2 to php, ruby and other
> languages.
> 
> > 6. What is the purpose of axis2_stub_t structure?
> 
> It keeps user option and the service client structure which keep
> information on invoking the service. Normally to customize the service
> call (i.e. to enable mtom, addressing, etc..), you take out the option
> structure using axis2_stub_get_options and set the values to the
> axis2_options structure
> 
> > 7. Given a WSDL, once we convert them to respective .h and .c files
> > using the WSDL2C.sh script, how do we go about developing the client side
> > code? do we have any specific way to write the client side code?
> 
> There are samples about using generated code in the samples/codegen
> directory (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
> 
> > 8. I have read some article which says Every component of Axis2C is
> > pluggable [Transport, XML, Parser, Memory machanisms, etc]. but, no where
> > did i found the procedure to do this. Please help me out in understanding
> > the pluggability and how can i play with the tool to add my own pluggable
> > components.
Following is an article on plugging your own memory mechanism.
http://wso2.org/library/3412

You need to implement that Transport and plug in to Axis2/C. Axis2/C
currently support HTTP, TCP and XMPP transports. Please have a look at
Axis2/C TCP transport implementation.
https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp

In order to plug your Parser you need to implement the parser wrapper
layer . Following is an example. 
https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2



> > 9. Please suggest me any book/online links/any reference material to be
> > able to understand the Axis2C tool better and start consuming the
> > webservices. Even after going through the complete set of links on the
> > official website of Axis2C, I am unable to explain the concepts to my peers
> > and am unable to write a piece of code to consume the webservices available
> > on internet.
> 
> You may find some resources here, http://wso2.org/taxonomy/term/254

The Axis2/C manual is here,
http://ws.apache.org/axis2/c/docs/axis2c_manual.html

> 
> 
> Thanks
> Dimuthu
> 
> >
> > Please do this favour by clearing all the doubts above and make me
> > understand the tool better and have me part of your group.
> >
> > Eagerly waiting for your reply.
> >
> > Thanks and Regards,
> > Vamsi Krishna M
> >
> > Vamsi, IIIT-Hyd.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org




Vamsi, IIIT-Hyd.


       

Re: Axis2C - Clarification needed

Posted by Manjula Peiris <ma...@wso2.com>.
On Mon, 2008-05-19 at 13:07 +0530, Dimuthu Gamage wrote:
> Answering some of the question that I m bit familiar with,
> 
> On Mon, May 19, 2008 at 11:47 AM, vamsi krishna <va...@yahoo.com> wrote:
> > Hi,
> >     I started to use Axis2C tool recently. I need the following
> > clarifications regarding the same:
> >     1. How are Axiom, Stax and LibXML2 related in Axis2C?

Axiom is the XML model used in Axis2/C. That means any piece of valid
XML document is represented as an Axiom object inside Axis2/C engine.
Axis2/C can be used with two parsers. The default Guththila XML parser
or libxml2 parser. Guththila is a stax parser.

> >     2. Given a structure for Serialization, what is the flow of
> > serialization in terms of Axiom, Stax and LibXML2?
> >     3. Where exactly is the pull parsing machanism implemented in the code?
> >     4. How does Axis2C supports REST? When I tried to see the backtrace (on
> > GDB) of a soap request sample [of Calculator sample] and the rest request
> > sample [echo_rest sample], I got exactly same dump for both the flows.
> > Please help me understand the implementation for REST support.

Axis2/C 1.3 and 1.4 have REST like REST support. Please see the
echo_rest sample of those releases.

> >
> >     5. what is the purpose of the auxutil_env_t structure? this structure is
> > passed in all the functions of axis2c.
> 
> env structure keeps information on logging, memory management and
> threading aspects. The idea is you can plug any logging or memory
> management implementations to axis2 using axis2_env_t structure. This
> has been used in embedding effort of axis2 to php, ruby and other
> languages.
> 
> >     6. What is the purpose of axis2_stub_t structure?
> 
> It keeps user option and the service client structure which keep
> information on invoking the service. Normally to customize the service
> call (i.e. to enable mtom, addressing, etc..), you take out the option
> structure using axis2_stub_get_options and set the values to the
> axis2_options structure
> 
> >     7. Given a WSDL, once we convert them to respective .h and .c files
> > using the WSDL2C.sh script, how do we go about developing the client side
> > code? do we have any specific way to write the client side code?
> 
> There are samples about using generated code in the samples/codegen
> directory (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)
> 
> >     8. I have read some article which says Every component of Axis2C is
> > pluggable [Transport, XML, Parser, Memory machanisms, etc]. but, no where
> > did i found the procedure to do this. Please help me out in understanding
> > the pluggability and how can i play with the tool to add my own pluggable
> > components.
Following is an article on plugging your own memory mechanism.
http://wso2.org/library/3412

You need to implement that Transport and plug in to Axis2/C. Axis2/C
currently support HTTP, TCP and XMPP transports. Please have a look at
Axis2/C TCP transport implementation.
https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/src/core/transport/tcp

In order to plug your Parser you need to implement the parser wrapper
layer . Following is an example. 
https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom/src/parser/libxml2



> >     9. Please suggest me any book/online links/any reference material to be
> > able to understand the Axis2C tool better and start consuming the
> > webservices. Even after going through the complete set of links on the
> > official website of Axis2C, I am unable to explain the concepts to my peers
> > and am unable to write a piece of code to consume the webservices available
> > on internet.
> 
> You may find some resources here, http://wso2.org/taxonomy/term/254

The Axis2/C manual is here,
http://ws.apache.org/axis2/c/docs/axis2c_manual.html

> 
> 
> Thanks
> Dimuthu
> 
> >
> >         Please do this favour by clearing all the doubts above and make me
> > understand the tool better and have me part of your group.
> >
> >      Eagerly waiting for your reply.
> >
> > Thanks and Regards,
> > Vamsi Krishna M
> >
> > Vamsi, IIIT-Hyd.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Axis2C - Clarification needed

Posted by Dimuthu Gamage <di...@gmail.com>.
Answering some of the question that I m bit familiar with,

On Mon, May 19, 2008 at 11:47 AM, vamsi krishna <va...@yahoo.com> wrote:
> Hi,
>     I started to use Axis2C tool recently. I need the following
> clarifications regarding the same:
>     1. How are Axiom, Stax and LibXML2 related in Axis2C?
>     2. Given a structure for Serialization, what is the flow of
> serialization in terms of Axiom, Stax and LibXML2?
>     3. Where exactly is the pull parsing machanism implemented in the code?
>     4. How does Axis2C supports REST? When I tried to see the backtrace (on
> GDB) of a soap request sample [of Calculator sample] and the rest request
> sample [echo_rest sample], I got exactly same dump for both the flows.
> Please help me understand the implementation for REST support.
>
>     5. what is the purpose of the auxutil_env_t structure? this structure is
> passed in all the functions of axis2c.

env structure keeps information on logging, memory management and
threading aspects. The idea is you can plug any logging or memory
management implementations to axis2 using axis2_env_t structure. This
has been used in embedding effort of axis2 to php, ruby and other
languages.

>     6. What is the purpose of axis2_stub_t structure?

It keeps user option and the service client structure which keep
information on invoking the service. Normally to customize the service
call (i.e. to enable mtom, addressing, etc..), you take out the option
structure using axis2_stub_get_options and set the values to the
axis2_options structure

>     7. Given a WSDL, once we convert them to respective .h and .c files
> using the WSDL2C.sh script, how do we go about developing the client side
> code? do we have any specific way to write the client side code?

There are samples about using generated code in the samples/codegen
directory (https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples/codegen)

>     8. I have read some article which says Every component of Axis2C is
> pluggable [Transport, XML, Parser, Memory machanisms, etc]. but, no where
> did i found the procedure to do this. Please help me out in understanding
> the pluggability and how can i play with the tool to add my own pluggable
> components.
>     9. Please suggest me any book/online links/any reference material to be
> able to understand the Axis2C tool better and start consuming the
> webservices. Even after going through the complete set of links on the
> official website of Axis2C, I am unable to explain the concepts to my peers
> and am unable to write a piece of code to consume the webservices available
> on internet.

You may find some resources here, http://wso2.org/taxonomy/term/254


Thanks
Dimuthu

>
>         Please do this favour by clearing all the doubts above and make me
> understand the tool better and have me part of your group.
>
>      Eagerly waiting for your reply.
>
> Thanks and Regards,
> Vamsi Krishna M
>
> Vamsi, IIIT-Hyd.

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org