axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <sam...@wso2.com>
Subject Re: Axis2C - Clarification needed
Date Mon, 19 May 2008 16:41:20 GMT
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 <manjula@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


Mime
View raw message