Hi Alex, I tried Axis2/C with a C++ client and it works fine. However, when it comes to server side, the message receiver can't invoke the AXIS2_SVC_SKELETON_INIT(), probably because it was built in C instead of C++. Thus, I guess that you will have to rebuild axis2/C using g++ in the first place.
But, amazingly I never got, undefined symbol: __gxx_personality_v0. Instead my server seg_faulted and crashed. Will work on this and let you know if I get through. Regards, Senaka > I've tried with two versions: first, I downloaded and compiled latest > released Axisc/2 v. 1.3.0 from the http://ws.apache.org/axis2/c; after > seeing this error, I downloaded a "WSO2 Web Services Framework for > C++" from the http://wso2.org/projects/wsf/cpp, where, I hoped, given > that the name includes "for C++", the C++ problems would be solved. > This release, as I understand, includes Acis2/C version 1.2. The same > error (with the same text returned by dlerror(), after I added > logging of this) happens in both cases. > > > Thank you, > > alex. > > > On Tue, Mar 18, 2008 at 10:36 PM, Manjula Peiris <[EMAIL PROTECTED]> wrote: >> Hi Bolgarov, >> >> What is the Axis2/C version you are using? >> >> >> >> >> On Tue, 2008-03-18 at 17:17 -0400, Alex Bolgarov wrote: >> > Hi, >> > >> > I'm trying to write a SOAP service using Axis2/C framework. I need >> the >> > service to be written in a C++ language, so as a first step I took an >> > 'echo service' example from the Axis distribution, renamed it to .cpp >> > file and compiled/linked it with 'g++' compiler. No compile errors >> > reported, the resulting .so library I copied to the services >> > directory, together with the corresponding services.xml file. >> > >> > I compiled a sample client that tries to send something to my new >> service. >> > >> > Than I strarted an 'axis2_http_server' application and run the >> client, >> > which failed with a SOAP error message about failure to load a dll. >> > >> > I found in the Axis2/C source code the place where it loads the .so >> > file (axutil_class_loader_load_lib() in file 'class_loader.c'), and >> > added debug log message that reports into the log the exact text of >> an >> > error as it is returned by dlerror() function, not just a message >> that >> > if failed to load a library, like this (after line 156 of the file >> > 'class_loader.c'): >> > >> > if (!dl_handler) >> > { >> > AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, >> > "AXIS2_PLATFORM_LOADLIB error: [%s]", >> > AXIS2_PLATFORM_LOADLIB_ERROR); >> > >> > ... >> > ... >> > ... >> > >> > after recompiling the Axis and running the test again, I see in the >> > log following message: >> > >> > class_loader.c(159) AXIS2_PLATFORM_LOADLIB error: >> > [/home/alexb/wsfcpp-repo/services/my_service/libmy_service.so: >> > undefined symbol: __gxx_personality_v0] >> > >> > I understand that the real problem is that the axis2_http_server >> > application is not compiled/linked with the g++ support libraries. >> > Several years ago I had similar problem when writing a C++ module for >> > Apache's httpd server, but there the solution was to use an httpd's >> > directive 'LoadFile' to load the g++ runtime library into the httpd >> > environment before loading my C++ module with the LoadModule >> > directive. >> > >> > So the question is, does anyone knows how to make the >> > axis2_http_server to load the g++ runtime library before it loads a >> > C++ .so service library? >> > >> > For the record, I'm doing all this on the Ubuntu 7.10, and here is a >> > result of running 'g++ --version: >> > >> > $ g++ --version >> > g++ (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) >> > >> > --------------------------------------------------------------------- >> > 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] >> >> > > --------------------------------------------------------------------- > 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]
