Re: Axis2C - Clarification needed
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 <[EMAIL PROTECTED]>/* 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/r
Re: Axis2C - Clarification needed
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 <[EMAIL PROTECTED]> 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. > > --
Re: Axis2C - Clarification needed
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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2C - Clarification needed
Answering some of the question that I m bit familiar with, On Mon, May 19, 2008 at 11:47 AM, vamsi krishna <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]