Re: Axis2C - Clarification needed

2008-05-19 Thread Samisa Abeysinghe

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

2008-05-19 Thread vamsi krishna
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

2008-05-19 Thread Manjula Peiris

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

2008-05-19 Thread Dimuthu Gamage
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]