axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dami...@opensource.lk
Subject Re: cvs head transport and parser abstration works on Linux
Date Wed, 19 May 2004 04:56:53 GMT
Hi Samisa,

> Damitha,
>    I am still strugling to get this working on Linux.
>
>    I have couple of problems
> 1. What about the USE_XERCES_PARSER and USE_EXPAT_PARSER directives?
>    Are they no longer used?

Yes they are no longer used. I removed all references to USE_EXPAT_PARSER

> 2. If I want to use only Xerces parser, how do I do that with new code?
> (say, I do not want to
> compile Expat related stuff at all)

I update the configure.ac so that you can choose to build both axis_expat
and axis_xerces libraries or build just one library you want. You also
have to make a selection at $AXISCPP_HOME/xml/Makefile.am

>
> --- damitha@opensource.lk wrote:
>> Hi,
>> It seems that transport layer abstraction and parser abstraction now
>> work
>> on linux. Thanks Susantha. But it is still working only with apache1.
>> I tried with only expat. it works.
>> parser and transport layer both is loaded in to axis engine when it is
>> loaded by apache.
>> in $AXISCPP_HOME/src/engine/SOAPTransportFactory.cpp
>>
>> m_pcLibraryPath = "/usr/local/Axis/libs/libaxis_transport.so"; //this
>> will
>> be taken from configuration file
>>
>> and in $AXISCPP_HOME/src/engine/XMLParserFactory.cpp
>>
>>  m_pcLibraryPath = "/usr/local/Axis/libs/libaxis_xmlparser.so"; //this
>> will be taken from configuration file
>>
>> That means that both the library paths are still hard coded until
>> somebody
>> make it read from the configuration file.
>>
>> To make it work, we need to build from $AXISCPP_HOME.
>> All transport libraries(libaxis_transport.so) and both
>> expat(libaxis_expat.so) and xercesc(libaxis_xercesc.so) are created in
>> $AXISCPP_HOME/bin
>>
>> So when you run the following script from $AXIS_HOME(eg:/usr/local/Axis)
>>
>> rm /usr/local/apache/libexec/libaxiscpp_mod.so
>> rm webservices/libAdminService.so
>> rm libs/libserver_engine.so
>> rm libs/libaxis_transport.so
>> rm libs/libaxis_xmlparser.so
>> cp -f $AXISCPP_HOME/bin/libAdminService.so webservices/
>> cp -f $AXISCPP_HOME/bin/libserver_engine.so libs/
>> cp -f $AXISCPP_HOME/bin/libaxiscpp_mod.so /usr/local/apache/libexec/
>> cp -f $AXISCPP_HOME/bin/libaxis_transport.so libs/
>> cp -f $AXISCPP_HOME/bin/libaxis_expat.so libs/libaxis_xmlparser.so
>> /usr/local/apache/bin/apachectl stop
>> sleep 2
>> /usr/local/apache/bin/apachectl start
>>
>> all the libraries are loaded.
>>
>> Note that in the line no. 10 of the script above we change
>> the name libaxis_expat.so to libaxis_xmlparser.so.
>> If we use xerces we need to change
>> libaxis_xercesc.so to libaxis_xmlparser.so.
>>
>> bravo, now anybody could make their parsers and transport layers work
>> with
>> Axis C++. But I think the api headers need more documentation for
>> somebody
>> to work with it.
>>
>> cheers
>> damitha
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> SBC Yahoo! - Internet access at a great low price.
> http://promo.yahoo.com/sbc/
>
>


Mime
View raw message