Re: valgrind and memory leaks
Hi Dinesh, Can't we use a conditional statement for the valgrind case? Therefore, if someone needs to use the mechanism Frederic suggests, he needs to define something. Simple as that. Regards, Senaka Hi Frederic, Frederic Heem [EMAIL PROTECTED] writes: Hi folks, Valgrind 3.3 is being mainly used to track memory leak, unfortunately, it doesn't catch memory allocated by the macro AXIS2_MALLOC, probably due to the fact that it uses a function pointer. Modifying the three macro as follows solves this problem and memory leaks can be finally detected during development. If we remove the function pointers as you suggest, it eliminates our design goal with function pointers. We used those function pointers in order to use other memory handling mechanisms other than malloc. As an example we use apr_pools underneath in mod_axis2 memory handling. Other thing is malloc may not be portable across different platforms. Therefore I don't think it is a good idea to remove those function pointers. thanks, Dinesh -- http://nethu.org - 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: Failed in creating DLL
No I am not using IIS. I am using the simple axis server. In that case, we haven't had any issues before. There are some users who had trouble with IIS, but AFAIK they've succeeded with Simple Axis2 HTTP Server. I believe that you might be missing something here. In your environment, you should be having several files in the folder of the VPMSService service (AXIS2C_HOME/services/VPMSService). Have you not copied some of them to your client's environment? Regards, Senaka Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Senaka Fernando [EMAIL PROTECTED] To 03/27/2008 01:42 Apache AXIS C User List AMaxis-c-user@ws.apache.org cc Please respond to Subject Apache AXIS C Re: Failed in creating DLL User List [EMAIL PROTECTED] pache.org Hi Sunil, So are you using IIS? If so, this is an issue, that has already been reported, a patch has also been submitted. I will have this fixed by Friday evening. Regards, Senaka On Wed, 2008-03-26 at 21:59 -0500, Sunil Pandit wrote: The service is C implementation . It does uses one dll other than the axis and runtime DLL. That DLL is in path. Thanks Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Senaka Fernando [EMAIL PROTECTED] To 03/26/2008 05:30 Apache AXIS C User List PMaxis-c-user@ws.apache.org cc Please respond to Subject Apache AXIS C Re: Failed in creating DLL User List [EMAIL PROTECTED] pache.org Hi Sunil, Few clarifications, 1. Is your service using any C++ code? 2. Is your service dependant on any other library other than the runtime? Regards, Senaka Nandika , The service in both the environments using the same DLL's and also the same runtime DLL . The only difference is Windows server vs . Windows XP. Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly
Re: Failed in creating DLL
Hi Sunil, you are most welcome. Regards, Senaka Hello Again , Thank you all for your response. This issue has been resolved. There was two fold problem . I have an IE7 on my machine and it has added some dependency (DWMAPI.DLL) to axutil . This particular DLL is avilable only on VISTA . So I had in uninstall IE7 and then install IE6. The application was using third party DLL thought I could see this DLL in dependency walker , LoadLibrary was failing to locate this DLL. I had to modify axisutil code to add some diagnostic messages to get this error. Thanks again !. Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Senaka Fernando [EMAIL PROTECTED] To 03/27/2008 03:35 Apache AXIS C User List PMaxis-c-user@ws.apache.org cc Please respond to Subject Apache AXIS C Re: Failed in creating DLL User List [EMAIL PROTECTED] pache.org No I am not using IIS. I am using the simple axis server. In that case, we haven't had any issues before. There are some users who had trouble with IIS, but AFAIK they've succeeded with Simple Axis2 HTTP Server. I believe that you might be missing something here. In your environment, you should be having several files in the folder of the VPMSService service (AXIS2C_HOME/services/VPMSService). Have you not copied some of them to your client's environment? Regards, Senaka Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Senaka Fernando [EMAIL PROTECTED] To 03/27/2008 01:42 Apache AXIS C User List AMaxis-c-user@ws.apache.org cc Please respond to Subject Apache AXIS C Re: Failed in creating DLL User List [EMAIL PROTECTED] pache.org Hi Sunil, So are you using IIS? If so, this is an issue, that has already been reported, a patch has also been submitted. I will have this fixed by Friday evening. Regards, Senaka On Wed, 2008-03-26 at 21:59 -0500, Sunil Pandit wrote: The service is C implementation . It does uses one dll other than the axis and runtime DLL. That DLL is in path. Thanks Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly
Re: Failed in creating DLL
Hi Sunil, Few clarifications, 1. Is your service using any C++ code? 2. Is your service dependant on any other library other than the runtime? Regards, Senaka Nandika , The service in both the environments using the same DLL's and also the same runtime DLL . The only difference is Windows server vs . Windows XP. Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Nandika Jayawardana [EMAIL PROTECTED] To om Apache AXIS C User List axis-c-user@ws.apache.org 03/26/2008 11:19 cc AM Subject Re: Failed in creating DLL Please respond to Apache AXIS C User List [EMAIL PROTECTED] pache.org Hi, What I meant was C runtime library MSVCRT.DLL. Try using the depends.exe ( Dependency walker tool ) to find out the dependencies of your service. This may help you figure out the problem. Regards Nandika On Wed, Mar 26, 2008 at 9:23 PM, Sunil Pandit [EMAIL PROTECTED] wrote: Nandika , The server where it is running is OS Name Microsoft(R) Windows(R) Server 2003, Standard Edition Version 5.2.3790 Service Pack 1 Build 3790 And the machine where it is failing is OS Name Microsoft Windows XP Professional Version 5.1.2600 Service Pack 2 Build 2600 Could you please elaborate which libraries I should be looking for .? The dependency of axis are same . Thanks Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA Registered in USA No: C-489-59 This is a PRIVATE message. If you are not the intended recipient, please delete without copying and kindly advise us by e-mail of the mistake in delivery. NOTE: Regardless of content, this e-mail shall not operate to bind CSC to any order or other contract unless pursuant to explicit written agreement or government initiative expressly permitting the use of e-mail for such purpose. Nandika Jayawardana [EMAIL PROTECTED] To om Apache AXIS C User List axis-c-user@ws.apache.org 03/26/2008 10:12 cc AM Subject Re: Failed in creating DLL Please respond to Apache AXIS C User List [EMAIL PROTECTED] pache.org Hi, This may be due to a difference in C runtime environments in the machine you tested and the machine you have deployed the service. Also check whether there is a difference in dependency library versions. Regards Nandika On Wed, Mar 26, 2008 at 7:56 PM, Sunil Pandit [EMAIL PROTECTED] wrote: Manjula Thanks for your quick response. The dll has been tested on one of our server . We deployed this dll in customer environment and we are getting this error . So I am not sure if it is compiler settings. Yes the service name is correct. Regards Sunil Pandit RD , CSC FSG Austin (512)2755792 Computer Sciences Corporation Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA
Re: development environments...
Hi Samisa, and others, AFAIK, vi and gdb supports Win32. And, They are not Linux only. You can build gdb on Windows (see [1]), and you can download vi for Windows, at [2]. And, neither vi or gdb are Linux tools. They both are Unix tools. So, in addition to Windows, you can use it on any Unix system. [1] http://sourceware.org/gdb/ [2] http://www.vim.org/download.php Regards, Senaka Dinesh Premalal wrote: Hi Sam, Sam Carleton [EMAIL PROTECTED] writes: I have spent my development career in Windows using both DevStudio and Visual Studio. One of the reasons I am going to be using Apache C Modules and Axis2/C is to be cross platform. Does anyone have any recommendations on a good cross platform development environments that has a debugger for Apache C Modules and Axis2/C development? emacs with cscope, vi + gdb Note that both of the above are Linux tools. thanks, Dinesh -- Samisa Abeysinghe Software Architect; WSO2 Inc. http://www.wso2.com/ - Oxygenating the Web Service Platform. - 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: Axis2/C, C++ and 'undefined symbol: __gxx_personality_v0'
Hi Alex, As it says, add, #ifdef __cplusplus extern C{ #endif In the top of your file, after including the headers. And, add, #ifdef __cplusplus } #endif at the very end. This way, you will be able to set extern C for all the methods in the source file. I too didn't require the LD_PRELOAD when I tried. Regards, Senaka. Hi Manjula, Yes, you are right. I removed setting LD_PRELOAD from my script that starts the axis server, the test still runs OK. And yes, I have seen the mention in the Axis2/C FAQ about using 'extern C'. I just have to suggest that the FAQ mention using 'extern C' specifically with axis2_get_instance() and axis2_remove_instance() functions - initially I have added it to all functions in the sample code but these two :) Thank you, alex. On Thu, Mar 20, 2008 at 12:10 AM, Manjula Peiris [EMAIL PROTECTED] wrote: Hi Alex, I think extern C alone should solve the problem. Because recently I did the same thing and it worked for me. Can you try only with extern C solution ? Thanks, -Manjula. On Wed, 2008-03-19 at 13:36 -0400, Alex Bolgarov wrote: OK, I used LD_PRELAOD env. variable to preload the libstdc++.so when starting the axis2_http_server, like this: LD_PRELOAD=/usr/lib/libstdc++.so.6 ./axis2_http_server -r ${AXIS2C_HOME} -l 6 and now my test runs successfully: the client sends a request, I see in the axis log tracing of function calls that I added to every function in my service, and then the client receives a response. I'm not sure that a solution with LD_PRELOAD is a good one, does any one have an opinion? Anyway, in production all this is going to run as a Apache httpd module, and we already know how to load libstdc++.so into the httpd, so I'm going now to build the mod_axis and try to run the test again, now with httpd :) But, amazingly I never got, undefined symbol: __gxx_personality_v0. Instead my server seg_faulted and crashed. Senaka, after I did something (I don't remember exactly what, I have done a lot of experimenting this morning) I also stopped getting undefined __gxx_personality_v0 and the server just started crashing (SIGSEGV); and when I run gdb on the core file, I also saw the that the crash was occurring in the AXIS2_SVC_SKELETON_INIT(). But then, after some more experimenting, I added 'extern C' to the functions axis2_get_instance() and axis2_remove_instance() in my test service, and the test run successfully. Well, at least this is what I think fixed this crash :). So, two things so far: a) preload the libstdc++.so, and b) use 'extern C' on the functions that the Axis calls directly (that is, loads by name?) Thank you, alex. On Wed, Mar 19, 2008 at 10:44 AM, Senaka Fernando [EMAIL PROTECTED] wrote: 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
Re: Transport sender value is NULL, unable to continue
Hi Sérgio, If you are using HTTPS yes, this can be an issue. Please add these to your axis2.xml transportSender name=https class=axis2_http_sender parameter name=PROTOCOL locked=falseHTTP/1.1/parameter parameter name=xml-declaration insert=false/ /transportSender parameter name=SERVER_CERT[/path/to/ca/certificate]/parameter parameter name=KEY_FILE[/path/to/client/certificate/chain/file]/parameter parameter name=SSL_PASSPHRASE[passphrase]/parameter And, transportReceiver name=https class=axis2_http_receiver parameter name=port locked=false6060/parameter parameter name=exposeHeaders locked=truefalse/parameter /transportReceiver Also, suitably replace the content inside '[' ']'. Regards, Senaka Hello, I'm having issues with Axis2/C (latest release). I'm running into an issue I've seen described in some places while searching for info, here's the log: [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch [Wed Mar 19 12:49:16 2008] [debug] conf_builder.c(233) no custom dispatching order found continue with default dispatching order [Wed Mar 19 12:49:16 2008] [error] conf_builder.c(860) transport sender value is NULL, unable to continue [Wed Mar 19 12:49:16 2008] [error] conf_builder.c(262) conf builder process transport senders failed, unable to continue [Wed Mar 19 12:49:16 2008] [error] conf_init.c(229) dep engine load failed. conf value is NULL From what I gathered, this is usually due to Axis not being able to find the dynamic libraries (the .so files, in this case, since I'm running Linux). I find that odd because I chose /usr as the installation prefix, so that all the library files were neatly installed in /usr/lib. And when I run ldd on my binary, it seems to find everything, including libaxis2_http_sender.so.0, which would presumably be the problem: $ ldd main linux-gate.so.1 = (0xe000) libaxutil.so.0 = /usr/lib/libaxutil.so.0 (0xf7fde000) libaxis2_axiom.so.0 = /usr/lib/libaxis2_axiom.so.0 (0xf7fb9000) libaxis2_parser.so.0 = /usr/lib/libaxis2_parser.so.0 (0xf7fb1000) libaxis2_engine.so.0 = /usr/lib/libaxis2_engine.so.0 (0xf7f6) libpthread.so.0 = /lib/tls/i686/cmov/libpthread.so.0 (0x4db9c000) libaxis2_http_sender.so.0 = /usr/lib/libaxis2_http_sender.so.0 (0xf7f4c000) libaxis2_http_receiver.so.0 = /usr/lib/libaxis2_http_receiver.so.0 (0xf7f48000) libdl.so.2 = /lib/tls/i686/cmov/libdl.so.2 (0x4da5f000) libc.so.6 = /lib/tls/i686/cmov/libc.so.6 (0x4d92b000) libz.so.1 = /usr/lib/libz.so.1 (0x4db77000) libxml2.so.2 = /usr/lib/libxml2.so.2 (0x4e38e000) libneethi.so.0 = /usr/lib/libneethi.so.0 (0xf7f2b000) libaxis2_http_common.so.0 = /usr/lib/libaxis2_http_common.so.0 (0xf7f1b000) libm.so.6 = /lib/tls/i686/cmov/libm.so.6 (0x4da65000) /lib/ld-linux.so.2 (0x4d912000) libssl.so.0.9.8 = /usr/lib/i686/cmov/libssl.so.0.9.8 (0x4f76d000) libcrypto.so.0.9.8 = /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0x4f543000) I'm trying to run a SOAP connection over https, could that be part of the problem? I'm including my axis2.xml, in case it helps. Thanks in advance! Cheers, Sérgio Gomes - 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: Transport sender value is NULL, unable to continue
Hi again, Please remove the duplicates in your axis2.xml. Sorry, that I forgot to mention that. And, I hope you built the source with the --enable-openssl=yes configure option. More info can be found in the Axis2/C manual, at [1] [1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#ssl_client Regards, Senaka Hi Sérgio, If you are using HTTPS yes, this can be an issue. Please add these to your axis2.xml transportSender name=https class=axis2_http_sender parameter name=PROTOCOL locked=falseHTTP/1.1/parameter parameter name=xml-declaration insert=false/ /transportSender parameter name=SERVER_CERT[/path/to/ca/certificate]/parameter parameter name=KEY_FILE[/path/to/client/certificate/chain/file]/parameter parameter name=SSL_PASSPHRASE[passphrase]/parameter And, transportReceiver name=https class=axis2_http_receiver parameter name=port locked=false6060/parameter parameter name=exposeHeaders locked=truefalse/parameter /transportReceiver Also, suitably replace the content inside '[' ']'. Regards, Senaka Hello, I'm having issues with Axis2/C (latest release). I'm running into an issue I've seen described in some places while searching for info, here's the log: [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch [Wed Mar 19 12:49:16 2008] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch [Wed Mar 19 12:49:16 2008] [debug] conf_builder.c(233) no custom dispatching order found continue with default dispatching order [Wed Mar 19 12:49:16 2008] [error] conf_builder.c(860) transport sender value is NULL, unable to continue [Wed Mar 19 12:49:16 2008] [error] conf_builder.c(262) conf builder process transport senders failed, unable to continue [Wed Mar 19 12:49:16 2008] [error] conf_init.c(229) dep engine load failed. conf value is NULL From what I gathered, this is usually due to Axis not being able to find the dynamic libraries (the .so files, in this case, since I'm running Linux). I find that odd because I chose /usr as the installation prefix, so that all the library files were neatly installed in /usr/lib. And when I run ldd on my binary, it seems to find everything, including libaxis2_http_sender.so.0, which would presumably be the problem: $ ldd main linux-gate.so.1 = (0xe000) libaxutil.so.0 = /usr/lib/libaxutil.so.0 (0xf7fde000) libaxis2_axiom.so.0 = /usr/lib/libaxis2_axiom.so.0 (0xf7fb9000) libaxis2_parser.so.0 = /usr/lib/libaxis2_parser.so.0 (0xf7fb1000) libaxis2_engine.so.0 = /usr/lib/libaxis2_engine.so.0 (0xf7f6) libpthread.so.0 = /lib/tls/i686/cmov/libpthread.so.0 (0x4db9c000) libaxis2_http_sender.so.0 = /usr/lib/libaxis2_http_sender.so.0 (0xf7f4c000) libaxis2_http_receiver.so.0 = /usr/lib/libaxis2_http_receiver.so.0 (0xf7f48000) libdl.so.2 = /lib/tls/i686/cmov/libdl.so.2 (0x4da5f000) libc.so.6 = /lib/tls/i686/cmov/libc.so.6 (0x4d92b000) libz.so.1 = /usr/lib/libz.so.1 (0x4db77000) libxml2.so.2 = /usr/lib/libxml2.so.2 (0x4e38e000) libneethi.so.0 = /usr/lib/libneethi.so.0 (0xf7f2b000) libaxis2_http_common.so.0 = /usr/lib/libaxis2_http_common.so.0 (0xf7f1b000) libm.so.6 = /lib/tls/i686/cmov/libm.so.6 (0x4da65000) /lib/ld-linux.so.2 (0x4d912000) libssl.so.0.9.8 = /usr/lib/i686/cmov/libssl.so.0.9.8 (0x4f76d000) libcrypto.so.0.9.8 = /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0x4f543000) I'm trying to run a SOAP connection over https, could that be part of the problem? I'm including my axis2.xml, in case it helps. Thanks in advance! Cheers, Sérgio Gomes - 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
Re: Axis2/C, C++ and 'undefined symbol: __gxx_personality_v0'
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]
Re: Transport sender value is NULL, unable to continue
If not, Won't a symbolic link work in this case? (I mean adding a symbolic link lib which will point to '/usr/lib'). Regards, Senaka Hi Sérgio, Sérgio Gomes [EMAIL PROTECTED] writes: Hi Samisa, My repo directory is inside my home folder, namely ~/src/axis2c-src-1.3.0/ . That's where I compiled Axis, and I've set that as my AXIS2C_HOME, keeping everything in there, both source and intermediate binaries. However, since I installed to /usr, there's no lib directory in there; all the libraries are in /usr/lib instead. AXIS2C_HOME directory should have lib, services and modules directory under it. I think that is why engine unable to load those libraries. As an example: my AXIS2C_HOME, [EMAIL PROTECTED]:~/axis2c/deploy$ ls AUTHORS axis2.xml bin COPYING CREDITS docs include INSTALL lib LICENSE logs modules NEWS NOTICE services share thanks, Dinesh -- http://nethu.org - 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: Regarding Axis2C architecture
Hi Rinil, Apache Axis2/C comes with two built in modules. 1. WS-Addressing 2. Logging These may help you in achieving what you want. Also, we have three other modules that are separate apache projects which are written to be used with apache Axis2/C. They are 1. Rampart/C (http://ws.apache.org/rampart/c) 2. Sandesha2/C (http://ws.apache.org/sandesha/sandesha2/c/) 3. Savan/C (http://ws.apache.org/savan/c/) I think they are good examples to get started with. They do have associated documentation, discussion lists, etc. Regards, Senaka Hi Kau, Thanks, the links are really useful. We plan to develop some custom handlers / modules to meet our requirement within the legacy system. Do we have any document or link which provides a detailed description of each phase (for example, pre-dispatch, postdispatch, and so on). Apart this it would be helpful if we get details about the format in which information is passed between phases. This information will be really helpful in deciding design for the handlers / modules we plan to develop. Thanking you in advance. Regards, Rinil Baxi -Original Message- From: Kaushalye Kapuruge [mailto:[EMAIL PROTECTED] Sent: Monday, March 17, 2008 5:34 PM To: Apache AXIS C User List Subject: Re: Regarding Axis2C architecture Hi, This might be useful... http://wso2.org/library/777 And this too... http://wso2.org/library/2406 Cheers, Kau Baxi, Rinilkumar (TCS) wrote: Hi All, Currently I am working on the Axis2c 1.2 to make it communicate with a legacy system. I have gone through the architecture given in the manual on the website. But from that I am not able to get the exact idea of the flow of the request. Kindly let me know the architecture of the Axis2 C and how the request flows from the client to the server and the response coming beck from the server to the client. Thanks in advance. Regards, Rinil Baxi -- http://blog.kaushalye.org/ http://wso2.org/ - 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]
RE: FW: Problem with Service deployed
Hi Rahil, You should be able to find samples in the samples folder, that is found inside the distribution. If you are referring to a demo application that utilizes the code generated for the Calculator WSDL, I'm sorry that it is not available on Axis2/C at the moment. Regards, Senaka On Fri, 2008-03-14 at 16:00 +0500, Rahil Ali wrote: Hi Senaka, Please provide me some sample web services.. Thanks, -Original Message- From: Rahil Ali [mailto:[EMAIL PROTECTED] Sent: Thursday, March 13, 2008 4:19 PM To: 'Apache AXIS C User List'; '[EMAIL PROTECTED]' Subject: RE: FW: Problem with Service deployed Hello Senaka, Thanks very much for your support, It worked and I can now add the reference in .Net. But when I tried to access its method add it gave an exception: Data element of the OM Node is NULL I think this is because I havent implemented anything in the functions: Can you please send me a sample source code so that I can get an idea like what are the uses of const axutil_env_t *env or how to use parameteres/returning values adb_add_t* add , adb_addResponse_t* Thanks regards, Rahil Ali -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 9:50 PM To: Apache AXIS C User List Subject: RE: FW: Problem with Service deployed Hi Rahil, This works fine for me. The WSDL discovery will work only if you use the Axis2/C source found in the svn head. I was under the impression that you were using that. However, if you are using the 1.3.0 distribution, I think the other alternate to how a static WSDL can be deployed was available. This works as this. add this to your services.xml after the ServiceClass parameter parameter name=wsdl_path[path]/parameter In here specify the absolute path to your wsdl, in the place of [path]. You might be able to specify a relative path, but, the absolute path is guaranteed to work. (ex:- /home/user/axis2/c/deploy/services/Calculator/Calculator.wsdl) The libSERVICE_NAME.so is rather a Linux convention. And, when trying to locate your service, the engine will try to find the dll by that name. Regards, Senaka Hello Senaka, I have service.xml, Calculator.wsdl and libCalculator.so in my $AXIS2C_HOME/services/Calculator folder, still I cannot access wsdl using this.. http://192.168.4.163/axis2/services/Calculator?wsdl; Whats going wrong here... Besides this one other thing to ask: how is libCalculator comes in action, does AXIS2C always use libSERVICE_NAME.so file? Thanks, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 6:50 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, Well the static WSDL deployment feature was fully supported after we released 1.3.0. So it will be reflected in the online documentation with the next release. However, if you use the subversion source (for developers) of Axis2/C; the manual found there has the necessary updates. Thus, in addition to copying the service.xml and the .so, you will also have to copy the wsdl and save it by the name, service_name.wsdl (ex:- Calculator.wsdl). The META-INF folder is something related to Axis2/Java. It doesn't apply to you. Regards, Senaka Hello Senaka, A couple of things to clearup, I am standing on $AXIS2C_HOME/services/Calculator folder, I ran WSDL2C on Calculator.wsdl, it generated - src/ + *.h + *.c + Build.sh - resources/ service.xml I ran build.sh which generated libCalculator.so. Now how to call the service? for that I setup according to the User-guide. 1-Copied service.xml from $AXIS2C_HOME/services/Calculator/resources directory to $AXIS2C_HOME/services/Calculator and 2-similarly copied libCalculator.so Still I am unable to access the wsdl via internet explorer. I read in some article that wsdl file should be placed in some META-INF folder, but I am not sure about exact setup of files, can you please explain me that what should be the folder structure. My current structure is like $AXIS2C_HOME/services/Calculator/Calculator.wsdl /resources/ /services.xml /src/ $AXIS2C_HOME/services/Calculator/resources/services.xml $AXIS2C_HOME/services/Calculator/src/axis2_skel_Calculator.h /axis2_skel_Calculator.c /adb_subResponse.h /adb_subResponse.c /adb_sub.h /adb_sub.c /adb_mulResponse.h /adb_mulResponse.c
RE: FW: Problem with Service deployed
Hi Rahil, I think you misunderstood what is on [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calculator/Calculator.wsdl?view=markup] This is basically a browser to the svn repo. You will have to download the WSDL from there to your local machine and then try it. Regarding the .NET WSDL scenario, try saving it to your local machine and trying it. Regards, Senaka Hello Senaka, Thanks very much for your prompt replies and support. Yes the problem was I didn't set JAVA_HOME and AXIS2_HOME properly. Now its giving a different kind of error: When I tried it one the WSDL from : [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calcul ator/Calculator.wsdl?view=markup] It gives: -- Retrieving document at 'Calculator.wsdl'. Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getBaseURI(java.lang.Stri ng) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) I tried that on a WSDL generated by .Net with only one function implemented it gave the same error. Pls help me out.. Thanks Regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 12:32 AM To: Apache AXIS C User List Subject: Re: FW: Problem with Service deployed Hi Rahil, BTW, U find documentation on how to use the WSDL2C tool on the Axis2/C Manual. [URL http://ws.apache.org/axis2/c/docs/axis2c_manual.html#wsdl2c] I think the issue is that you may not be providing the options properly. Let me guide you through the process. 1. I hope you already have the AXIS2/Java snapshot. If not please download it. Info can be found on the Axis2/C manual at the link above. 2. Set the Java Home environment variable. ex:- export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.03/ 3. WSDL2C.sh expects AXIS2_HOME and not AXIS2C_HOME if you didn't modify it. You will have to set this too. ex:- export AXIS2_HOME=/home/user/Desktop/axis2-SNAPSHOT/ axis2-SNAPSHOT is the folder that is created when you extract the binary distribution Snapshot. 4. Then if you read through the manual you'll see something like, run java org.apache.axis2.wsdl.WSDL2C -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u Instead of that run ./WSDL2C.sh -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u Please notice that I'm replacing the part java org.apache.axis2.wsdl.WSDL2C with ./WSDL2C.sh. The same applies for other methods mentioned on the manual. 5. I tried to generate code for the WSDL found at, [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calcul ator/Calculator.wsdl?view=markup] I have tried this and I did not fail. So I believe that a failure would be only due an issue in setting up Java on your machine. HTH, Regards, Senaka Hi, it seems that your wsdl cannot be read. can you recheck the option you give to the tool, Was it like, WSDL2C.sh -uri yourwsdl.wsdl -u If not it is better try to generate java code for the wsdl (there is a wsdl2java.sh/.bat script packed with the java snapshot bin directory), Please let us know the results of above tests, we can figure out where the error is Thanks Dimuthu On Tue, Mar 11, 2008 at 6:35 PM, Rahil Ali [EMAIL PROTECTED] wrote: Hi Everyone... Pls reply... I cannot run the WSDL2C.sh successfully... I downloaded all the jar files and put them in to $AXIS2C_HOME/lib folder. My WSDL2C.sh is like: #!/bin/sh #export AXIS2_HOME=/home/axis2java for f in $AXIS2C_HOME/lib/*.jar do AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f done export AXIS2_CLASSPATH #echo the classpath $AXIS2_CLASSPATH java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2C $* It is giving me this error: Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(j ava.lang.String) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngin e(org.apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) I believe there is some library issue. Can you please guide me how to run this. I cannot find any documentation of WSDL to C code conversion, please help. Thanks Regards, Rahil Ali -Original Message
RE: FW: Problem with Service deployed
Hi Rahil, Did you try WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d adb -u Also? Can you let me know? Regards, Senaka Hi Senaka, I tried that as well WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d none Still the same error... Retrieving document at '../services/Calculator/Calculator.wsdl'. Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getBaseURI(java.lang.Stri ng) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) Pls advice.. Thanks Regards, Rahil Ali -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 1:28 PM To: Apache AXIS C User List Subject: RE: FW: Problem with Service deployed Hi Rahil, May be it is your Java version. Also, I provided the relative path to the wsdl. My case, it was inside samples/server/Calculator, and tool is found at tools/codegen/javatool. So, the relative path was, ../../../samples/server/Calculator/Calculator.wsdl. In your case, if you are trying the WSDL2C.sh in the bin, it would rather be, ../services/Calculator/Calculator.wsdl Please try that too. Regards, Senaka Hi Senaka, I tried the same thing.. I downloaded both wsdls and tried on my Linux machine.. I put the Calculator.wsdl in $AXIS2C_HOME/services/Calculator/ and hello.wsdl in $AXIS2C_HOME/services/hello folders and tried WSDL2C.. My WSDL2C.sh is: #!/bin/sh #export AXIS2_HOME=/home/axis2java for f in $AXIS2_HOME/lib/*.jar do AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f done export AXIS2_CLASSPATH echo the classpath $AXIS2_CLASSPATH java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2C $* My JAVA_HOME=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0 My AXIS2_HOME=/usr/local/axis2-SNAPSHOT What could be the problem... Is this because of some jar file missing or is it because of my JAVA version.. Thanks Regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 1:13 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, I think you misunderstood what is on [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calcul ator/Calculator.wsdl?view=markup] This is basically a browser to the svn repo. You will have to download the WSDL from there to your local machine and then try it. Regarding the .NET WSDL scenario, try saving it to your local machine and trying it. Regards, Senaka Hello Senaka, Thanks very much for your prompt replies and support. Yes the problem was I didn't set JAVA_HOME and AXIS2_HOME properly. Now its giving a different kind of error: When I tried it one the WSDL from : [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calcul ator/Calculator.wsdl?view=markup] It gives: -- Retrieving document at 'Calculator.wsdl'. Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getBaseURI(java.lang.Stri ng) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) I tried that on a WSDL generated by .Net with only one function implemented it gave the same error. Pls help me out.. Thanks Regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 12:32 AM To: Apache AXIS C User List Subject: Re: FW: Problem with Service deployed Hi Rahil, BTW, U find documentation on how to use the WSDL2C tool on the Axis2/C Manual. [URL http://ws.apache.org/axis2/c/docs/axis2c_manual.html#wsdl2c] I think the issue is that you may not be providing the options properly. Let me guide you through the process. 1. I hope you already have the AXIS2/Java snapshot. If not please download it. Info can be found on the Axis2/C manual at the link above. 2. Set the Java Home environment variable. ex:- export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.03/ 3. WSDL2C.sh expects AXIS2_HOME and not AXIS2C_HOME if you didn't modify it. You will have to set this too. ex:- export AXIS2_HOME=/home/user/Desktop/axis2-SNAPSHOT/ axis2-SNAPSHOT is the folder that is created when you extract the binary distribution Snapshot. 4. Then if you read through the manual you'll see
RE: FW: Problem with Service deployed
Hi Rahil, Seems to be a Java issue rather. That should be the most likely scenario. You can AFAIK have concurrent JDK installations. I tried on Java5 and Java6 an it does work fine Regards, Senaka Hi Senaka, I tried WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d adb -u It gives different error: Retrieving document at '../services/Calculator/Calculator.wsdl'. Exception in thread main org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: Unable to resolve imported document at '../services/Calculator/Calculator.wsdl'.: java.io.FileNotFoundException: This file was not found: file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String, java.lang.String) (Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(java.la ng.String) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) ...1 more Caused by: java.io.FileNotFoundException: This file was not found: file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(java.net.URL) (Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String, java.lang.String) (Unknown Source) ...4 more Pls Advice, Thanks Regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 2:43 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, Did you try WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d adb -u Also? Can you let me know? Regards, Senaka Hi Senaka, I tried that as well WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d none Still the same error... Retrieving document at '../services/Calculator/Calculator.wsdl'. Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.getBaseURI(java.lang.Stri ng) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org. apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) Pls advice.. Thanks Regards, Rahil Ali -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 1:28 PM To: Apache AXIS C User List Subject: RE: FW: Problem with Service deployed Hi Rahil, May be it is your Java version. Also, I provided the relative path to the wsdl. My case, it was inside samples/server/Calculator, and tool is found at tools/codegen/javatool. So, the relative path was, ../../../samples/server/Calculator/Calculator.wsdl. In your case, if you are trying the WSDL2C.sh in the bin, it would rather be, ../services/Calculator/Calculator.wsdl Please try that too. Regards, Senaka Hi Senaka, I tried the same thing.. I downloaded both wsdls and tried on my Linux machine.. I put the Calculator.wsdl in $AXIS2C_HOME/services/Calculator/ and hello.wsdl in $AXIS2C_HOME/services/hello folders and tried WSDL2C.. My WSDL2C.sh is: #!/bin/sh #export AXIS2_HOME=/home/axis2java for f in $AXIS2_HOME/lib/*.jar do AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f done export AXIS2_CLASSPATH echo the classpath $AXIS2_CLASSPATH java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2C $* My JAVA_HOME=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0 My AXIS2_HOME=/usr/local/axis2-SNAPSHOT What could be the problem... Is this because of some jar file missing or is it because of my JAVA version.. Thanks Regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 1:13 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, I think you misunderstood what is on [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calcul ator/Calculator.wsdl?view=markup] This is basically a browser to the svn repo. You will have to download the WSDL from there to your local machine and then try it. Regarding the .NET WSDL scenario, try saving it to your local machine and trying it. Regards, Senaka Hello Senaka, Thanks very much for your
RE: FW: Problem with Service deployed
Hi Rahil, Well the static WSDL deployment feature was fully supported after we released 1.3.0. So it will be reflected in the online documentation with the next release. However, if you use the subversion source (for developers) of Axis2/C; the manual found there has the necessary updates. Thus, in addition to copying the service.xml and the .so, you will also have to copy the wsdl and save it by the name, service_name.wsdl (ex:- Calculator.wsdl). The META-INF folder is something related to Axis2/Java. It doesn't apply to you. Regards, Senaka Hello Senaka, A couple of things to clearup, I am standing on $AXIS2C_HOME/services/Calculator folder, I ran WSDL2C on Calculator.wsdl, it generated - src/ + *.h + *.c + Build.sh - resources/ service.xml I ran build.sh which generated libCalculator.so. Now how to call the service? for that I setup according to the User-guide. 1-Copied service.xml from $AXIS2C_HOME/services/Calculator/resources directory to $AXIS2C_HOME/services/Calculator and 2-similarly copied libCalculator.so Still I am unable to access the wsdl via internet explorer. I read in some article that wsdl file should be placed in some META-INF folder, but I am not sure about exact setup of files, can you please explain me that what should be the folder structure. My current structure is like $AXIS2C_HOME/services/Calculator/Calculator.wsdl /resources/ /services.xml /src/ $AXIS2C_HOME/services/Calculator/resources/services.xml $AXIS2C_HOME/services/Calculator/src/axis2_skel_Calculator.h /axis2_skel_Calculator.c /adb_subResponse.h /adb_subResponse.c /adb_sub.h /adb_sub.c /adb_mulResponse.h /adb_mulResponse.c /adb_mul.h /adb_mul.c /adb_divResponse.h /adb_divResponse.c /adb_div.h /adb_div.c /adb_addResponse.h /adb_addResponse.c /adb_add.h /adb_add.c /build.sh /axis2_svc_skel_Calculator.c /libCalculator.so /Calculator.wsdl Thanks regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 5:06 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, This portion is not automated. To get the WSDL u will have to copy it manually to the folder in which u find the .so. The name should be the same as the Service. In Axis2/C we do support static WSDLs only. No dynamic generation at the moment. Regards, Senaka Hi Senaka, Thanks very much for your replies, WSDL2C worked.. I removed previous JDK installation. It generated 2 directories resources and src Src directory contains lot of files, separate files for each functions.. In which file do I have to implement the business logic, for example there are several files for add function : adb_add.c, adb_addResponse.c. For now I just ran build.sh without implementing any logic, it generated libCalculator.so; I put service.xml from resources folder and libCalculator in $AXIS2C_HOME/service/Calculator folder and tried to access the URL : http://192.168.4.163/axis2/services/Calculator?wsdl It gave error while http://192.168.4.163/axis2/services/Calculator is displaying the service properly... Deployed Services Calculator Calculator Service Available Operations div add sub mul Pls advice, Thanks, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 3:05 PM To: Apache AXIS C User List Subject: RE: FW: Problem with Service deployed Hi Rahil, Seems to be a Java issue rather. That should be the most likely scenario. You can AFAIK have concurrent JDK installations. I tried on Java5 and Java6 an it does work fine Regards, Senaka Hi Senaka, I tried WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss -sd -d adb -u It gives different error
Re: possible bug in WSDL2C-generated code
Hi Carl, Try this, Replace: end_input_str = (axis2_char_t*)AXIS2_MALLOC(env-allocator, sizeof(axis2_char_t) * (5 + ADB_DEFAULT_DIGIT_LIMIT + axutil_strlen(RequestParameters))); With: end_input_str = (axis2_char_t*)AXIS2_MALLOC(env-allocator, sizeof(axis2_char_t) * (5 + ADB_DEFAULT_DIGIT_LIMIT * 2 + axutil_strlen(RequestParameters))); Regards, Senaka Hi Dimuthu, You are correct, I was mistakenly using the jars in the Axis2 1.3 instead of the nightly snapshot zip. with the new code, I get a debug assertion failed error. (_ASSERTE(_CrtIsValidHeapPointer(pUserData)); from DBGHEAP.C) Is there some change needed in construction of the request parameters with the new version of the ADB stubs? Carl The generated file is: (## is added to line causing the problem) /** * adb_BrokerInformationRequestType.c * * This file was auto-generated from WSDL * by the Apache Axis2/C version: SNAPSHOT Built on : Mar 10, 2008 (08:35:52 GMT+00:00) */ #include adb_BrokerInformationRequestType.h /* * This type was generated from the piece of schema that had * name = BrokerInformationRequestType * Namespace URI = http://www.axa.ca/BrokerInformationService/1.0/types/BrokerInformationRequestTypes * Namespace Prefix = ns2 */ struct adb_BrokerInformationRequestType { adb_ParametersType_t* property_RequestParameters; axis2_bool_t is_valid_RequestParameters; axis2_char_t* property_PortfolioNumber; axis2_bool_t is_valid_PortfolioNumber; }; /* Private Function prototypes / axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_set_RequestParameters_nil( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env); axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_set_PortfolioNumber_nil( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env); /* Function Implmentations / adb_BrokerInformationRequestType_t* AXIS2_CALL adb_BrokerInformationRequestType_create( const axutil_env_t *env) { adb_BrokerInformationRequestType_t *_BrokerInformationRequestType = NULL; AXIS2_ENV_CHECK(env, NULL); _BrokerInformationRequestType = (adb_BrokerInformationRequestType_t *) AXIS2_MALLOC(env- allocator, sizeof(adb_BrokerInformationRequestType_t)); if(NULL == _BrokerInformationRequestType) { AXIS2_ERROR_SET(env-error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset(_BrokerInformationRequestType, 0, sizeof(adb_BrokerInformationRequestType_t)); _BrokerInformationRequestType-property_RequestParameters = NULL; _BrokerInformationRequestType-is_valid_RequestParameters = AXIS2_FALSE; _BrokerInformationRequestType-property_PortfolioNumber = NULL; _BrokerInformationRequestType-is_valid_PortfolioNumber = AXIS2_FALSE; return _BrokerInformationRequestType; } axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_free ( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env-error, _BrokerInformationRequestType, AXIS2_FAILURE); adb_BrokerInformationRequestType_reset_RequestParameters(_BrokerInformationRequestType, env); adb_BrokerInformationRequestType_reset_PortfolioNumber(_BrokerInformationRequestType, env); if(_BrokerInformationRequestType) { AXIS2_FREE(env-allocator, _BrokerInformationRequestType); _BrokerInformationRequestType = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_deserialize( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env, axiom_node_t **dp_parent, axis2_bool_t *dp_is_early_node_valid, axis2_bool_t dont_care_minoccurs) { axiom_node_t *parent = *dp_parent; axis2_status_t status =
RE: FW: Problem with Service deployed
Hi Rahil, This works fine for me. The WSDL discovery will work only if you use the Axis2/C source found in the svn head. I was under the impression that you were using that. However, if you are using the 1.3.0 distribution, I think the other alternate to how a static WSDL can be deployed was available. This works as this. add this to your services.xml after the ServiceClass parameter parameter name=wsdl_path[path]/parameter In here specify the absolute path to your wsdl, in the place of [path]. You might be able to specify a relative path, but, the absolute path is guaranteed to work. (ex:- /home/user/axis2/c/deploy/services/Calculator/Calculator.wsdl) The libSERVICE_NAME.so is rather a Linux convention. And, when trying to locate your service, the engine will try to find the dll by that name. Regards, Senaka Hello Senaka, I have service.xml, Calculator.wsdl and libCalculator.so in my $AXIS2C_HOME/services/Calculator folder, still I cannot access wsdl using this.. http://192.168.4.163/axis2/services/Calculator?wsdl; Whats going wrong here... Besides this one other thing to ask: how is libCalculator comes in action, does AXIS2C always use libSERVICE_NAME.so file? Thanks, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 6:50 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, Well the static WSDL deployment feature was fully supported after we released 1.3.0. So it will be reflected in the online documentation with the next release. However, if you use the subversion source (for developers) of Axis2/C; the manual found there has the necessary updates. Thus, in addition to copying the service.xml and the .so, you will also have to copy the wsdl and save it by the name, service_name.wsdl (ex:- Calculator.wsdl). The META-INF folder is something related to Axis2/Java. It doesn't apply to you. Regards, Senaka Hello Senaka, A couple of things to clearup, I am standing on $AXIS2C_HOME/services/Calculator folder, I ran WSDL2C on Calculator.wsdl, it generated - src/ + *.h + *.c + Build.sh - resources/ service.xml I ran build.sh which generated libCalculator.so. Now how to call the service? for that I setup according to the User-guide. 1-Copied service.xml from $AXIS2C_HOME/services/Calculator/resources directory to $AXIS2C_HOME/services/Calculator and 2-similarly copied libCalculator.so Still I am unable to access the wsdl via internet explorer. I read in some article that wsdl file should be placed in some META-INF folder, but I am not sure about exact setup of files, can you please explain me that what should be the folder structure. My current structure is like $AXIS2C_HOME/services/Calculator/Calculator.wsdl /resources/ /services.xml /src/ $AXIS2C_HOME/services/Calculator/resources/services.xml $AXIS2C_HOME/services/Calculator/src/axis2_skel_Calculator.h /axis2_skel_Calculator.c /adb_subResponse.h /adb_subResponse.c /adb_sub.h /adb_sub.c /adb_mulResponse.h /adb_mulResponse.c /adb_mul.h /adb_mul.c /adb_divResponse.h /adb_divResponse.c /adb_div.h /adb_div.c /adb_addResponse.h /adb_addResponse.c /adb_add.h /adb_add.c /build.sh /axis2_svc_skel_Calculator.c /libCalculator.so /Calculator.wsdl Thanks regards, Rahil -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 12, 2008 5:06 PM To: axis-c-user@ws.apache.org Subject: RE: FW: Problem with Service deployed Hi Rahil, This portion is not automated. To get the WSDL u will have to copy it manually to the folder in which u find the .so. The name should be the same as the Service. In Axis2/C we do support static WSDLs only. No dynamic generation at the moment. Regards, Senaka Hi
Re: possible bug in WSDL2C-generated code
Hi all, Oh! sorry I didn't notice that. I simply was under the impression that the allocated string size lead to a buffer overrun. Dimuthu, thanks for noticing that. Regards, Senaka Hi, The problem is due to double freeing the end_input_str. I fixed it in the svn, axutil_stream_write(stream, env, start_input_str, start_input_str_len); AXIS2_FREE(env-allocator,end_input_str); This should be corrected to AXIS2_FREE(env-allocator,start_input_str); text_value_2_temp = axutil_xml_quote_string(env, text_value_2, AXIS2_TRUE); if (text_value_2_temp) { axutil_stream_write(stream, env, text_value_2_temp, axutil_strlen(text_value_2_temp)); AXIS2_FREE(env-allocator, text_value_2_temp); } else { axutil_stream_write(stream, env, text_value_2, axutil_strlen(text_value_2)); } axutil_stream_write(stream, env, end_input_str, end_input_str_len); ##AXIS2_FREE(env-allocator,end_input_str); Thanks Dimuthu On Wed, Mar 12, 2008 at 10:27 PM, Senaka Fernando [EMAIL PROTECTED] wrote: Hi Carl, Try this, Replace: end_input_str = (axis2_char_t*)AXIS2_MALLOC(env-allocator, sizeof(axis2_char_t) * (5 + ADB_DEFAULT_DIGIT_LIMIT + axutil_strlen(RequestParameters))); With: end_input_str = (axis2_char_t*)AXIS2_MALLOC(env-allocator, sizeof(axis2_char_t) * (5 + ADB_DEFAULT_DIGIT_LIMIT * 2 + axutil_strlen(RequestParameters))); Regards, Senaka Hi Dimuthu, You are correct, I was mistakenly using the jars in the Axis2 1.3 instead of the nightly snapshot zip. with the new code, I get a debug assertion failed error. (_ASSERTE(_CrtIsValidHeapPointer(pUserData)); from DBGHEAP.C) Is there some change needed in construction of the request parameters with the new version of the ADB stubs? Carl The generated file is: (## is added to line causing the problem) /** * adb_BrokerInformationRequestType.c * * This file was auto-generated from WSDL * by the Apache Axis2/C version: SNAPSHOT Built on : Mar 10, 2008 (08:35:52 GMT+00:00) */ #include adb_BrokerInformationRequestType.h /* * This type was generated from the piece of schema that had * name = BrokerInformationRequestType * Namespace URI = http://www.axa.ca/BrokerInformationService/1.0/types/BrokerInformationRequestTypes * Namespace Prefix = ns2 */ struct adb_BrokerInformationRequestType { adb_ParametersType_t* property_RequestParameters; axis2_bool_t is_valid_RequestParameters; axis2_char_t* property_PortfolioNumber; axis2_bool_t is_valid_PortfolioNumber; }; /* Private Function prototypes / axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_set_RequestParameters_nil( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env); axis2_status_t AXIS2_CALL adb_BrokerInformationRequestType_set_PortfolioNumber_nil( adb_BrokerInformationRequestType_t* _BrokerInformationRequestType, const axutil_env_t *env); /* Function Implmentations / adb_BrokerInformationRequestType_t* AXIS2_CALL adb_BrokerInformationRequestType_create( const axutil_env_t *env) { adb_BrokerInformationRequestType_t *_BrokerInformationRequestType = NULL; AXIS2_ENV_CHECK(env, NULL); _BrokerInformationRequestType = (adb_BrokerInformationRequestType_t *) AXIS2_MALLOC(env- allocator, sizeof(adb_BrokerInformationRequestType_t)); if(NULL == _BrokerInformationRequestType) { AXIS2_ERROR_SET(env-error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset(_BrokerInformationRequestType, 0, sizeof(adb_BrokerInformationRequestType_t)); _BrokerInformationRequestType
Re: FW: Problem with Service deployed
Hi Rahil, BTW, U find documentation on how to use the WSDL2C tool on the Axis2/C Manual. [URL http://ws.apache.org/axis2/c/docs/axis2c_manual.html#wsdl2c] I think the issue is that you may not be providing the options properly. Let me guide you through the process. 1. I hope you already have the AXIS2/Java snapshot. If not please download it. Info can be found on the Axis2/C manual at the link above. 2. Set the Java Home environment variable. ex:- export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.03/ 3. WSDL2C.sh expects AXIS2_HOME and not AXIS2C_HOME if you didn't modify it. You will have to set this too. ex:- export AXIS2_HOME=/home/user/Desktop/axis2-SNAPSHOT/ axis2-SNAPSHOT is the folder that is created when you extract the binary distribution Snapshot. 4. Then if you read through the manual you'll see something like, run java org.apache.axis2.wsdl.WSDL2C -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u Instead of that run ./WSDL2C.sh -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u Please notice that I'm replacing the part java org.apache.axis2.wsdl.WSDL2C with ./WSDL2C.sh. The same applies for other methods mentioned on the manual. 5. I tried to generate code for the WSDL found at, [URL http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calculator/Calculator.wsdl?view=markup] I have tried this and I did not fail. So I believe that a failure would be only due an issue in setting up Java on your machine. HTH, Regards, Senaka Hi, it seems that your wsdl cannot be read. can you recheck the option you give to the tool, Was it like, WSDL2C.sh -uri yourwsdl.wsdl -u If not it is better try to generate java code for the wsdl (there is a wsdl2java.sh/.bat script packed with the java snapshot bin directory), Please let us know the results of above tests, we can figure out where the error is Thanks Dimuthu On Tue, Mar 11, 2008 at 6:35 PM, Rahil Ali [EMAIL PROTECTED] wrote: Hi Everyone... Pls reply... I cannot run the WSDL2C.sh successfully... I downloaded all the jar files and put them in to $AXIS2C_HOME/lib folder. My WSDL2C.sh is like: #!/bin/sh #export AXIS2_HOME=/home/axis2java for f in $AXIS2C_HOME/lib/*.jar do AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f done export AXIS2_CLASSPATH #echo the classpath $AXIS2_CLASSPATH java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2C $* It is giving me this error: Exception in thread main java.lang.NoSuchMethodError: method java.io.File.toURI was not found. at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(j ava.lang.String) (Unknown Source) at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngin e(org.apache.axis2.util.CommandLineOptionParser) (Unknown Source) at org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[]) (Unknown Source) I believe there is some library issue. Can you please guide me how to run this. I cannot find any documentation of WSDL to C code conversion, please help. Thanks Regards, Rahil Ali -Original Message- From: Rahil Ali [mailto:[EMAIL PROTECTED] Sent: Friday, March 07, 2008 6:38 PM To: 'Samisa Abeysinghe'; 'Senaka Fernando' Subject: RE: Problem with Service deployed Hello Samisa and Senaka, That sounds simple. Please help me getting started here... I will use .net to generate a simple WSDL. I will put that wsdl into $AXIS2C_HOME/services/MYSERV folder and run WSDL2C.sh script. Right? Now when I am doing this I am having a problem: Exception in thread main java.lang.NoClassDefFoundError: org.apache.axis2.wsdl.WSDL2C at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0) at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0) at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0) at __gcj_personality_v0 (/usr/local/axis2c/services/Calculator/java.version=1.4.2) at __libc_start_main (/lib/tls/libc-2.3.4.so) at _Jv_RegisterClasses (/usr/local/axis2c/services/Calculator/java.version=1.4.2) I am still not sure how WSDL2C.sh is working. I mean the script is looking for the *.jar files in $AXIS2C_HOME/lib folder. I modified that and put *.so but still no success. Can you please explain me how WSDL2C.sh works.. or gave me any article which help me implementing a C-Webservice using AXIS2/C.. AXIS2/C doesn't have that much help on Internet... Sorry for such Noob questions. Thanks Regards, Rahil Ali -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Friday, March 07, 2008 5:33 PM To: Apache AXIS C User List Subject: Re: Problem with Service deployed If you want to interop with ease with .NET
Re: Axis2/C for Apapche 2.2.8
Hi Laszlo, An Axis2/C Win32 Binary built with Apache 2.2.8 can be found at [1] [1] http://people.apache.org/~senaka/axis2/c/axis2c-bin-1.3.0-win32.zip Regards, Senaka Hi Laszlo, Will send you a Apache2.2.8 compatible mod_axis2.so built in Windows XP SP2, using VS2005. In the mean time, would it be possible for you to, 1. Attach your httpd.conf file, 2. Attach your apache error log, To this mail thread and, 3. Let me know whether your folder path contains non-ASCII characters. Regards, Senaka Hi Fernando, I have to disappoint you, the mod_axis2.so still does not wotk for me. The error message is this: The Apache service named reported the following error: httpd.exe: Syntax error on line 484 of C:/Apache2.2.8/conf/httpd.conf: Cannot load C:/Apache2.2.8/modules/mod_axis2.so into server: Could not find the giben method Could you send me your so file? Senaka Fernando írta: Hi Laszlo, AFAIK, mod_axis2 works with Apache 2.2.8. You can use two approaches. Method 1: Please confirm to whether you can find (using search in Windows) the ***mod_axis2.dll*** some where inside your ides/VC folder. The location at which it is built may vary according to how you build the solution/project and settings that you specify. Please note that this might be built somewhere else from other Axis2/C libs. Once you find it, please copy that .dll to C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll. And make sure that if you have written any path that has spaces in between, add quotation marks around it. Method 2: Use the nmake build script. If you have VS 2005 installed you don't require any additional tools. Locate the configure.in found inside build/win32, and edit it. Open a new command window and run vcvars32.bat. This can be found in C:\Program Files\Microsoft Visual Studio 8\VC\bin or any other place at which you installed VS2005. Then inside the same command window, change directory to the place where you downloaded Axis2/C. And goto the folder build\win32. Run the build.bat and once you've done, run nmake axis2_apache_module. After that, you'll find a new sub folder named deploy inside the build folder. Set this as your AXIS2C_HOME and add AXIS2C_HOME\lib to your path variable. After that you can copy the ***mod_axis2.dll*** dll that is found inside AXIS2C_HOME\lib. Regards, Senaka Regards, Senaka Hi Laszlo, Did you follow the steps as mentioned in [1] ? [1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2 -Manjula. On Sat, 2008-02-16 at 21:38 +0100, Graf László wrote: Hi all, I built sucesfully the Axis2/C module on Windows XP using VS 2005. But the testing it om Apache 2.2.8 failes with this message: Syntax error on line 490 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll into server: the module can not found (translated from hungarian). I tried to copy Axis2/C dlls to Apache bin folder but no success. Did some solve this kind of problem? Laszlo - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Core dumps in Axis libraries
Found it! ==22786== Process terminating with default action of signal 15 (SIGTERM) ==22786==at 0x403760E: accept (in /lib/tls/libpthread-2.3.6.so) ==22786==by 0x44C2CF2: axis2_http_svr_thread_run (http_svr_thread.c:128) ==22786==by 0x44C28D4: axis2_http_server_start (http_receiver.c:227) ==22786==by 0x44DA92E: axis2_transport_receiver_start (transport_receiver.c:41) ==22786==by 0x8084D3C: axis_init(int, char**) (http_server_main.cpp:155) ==22786==by 0x8059896: main (sps_server.h:159) Regards, Senaka Manjula, This was with out my logs enabled. Regards, ~raghav -Original Message- From: Manjula Peiris [mailto:[EMAIL PROTECTED] Sent: Monday, March 10, 2008 12:58 PM To: Apache AXIS C User List Subject: RE: Core dumps in Axis libraries Is this valgrind report is when your log level increased or not ? If yes then can you try valgrind without increasing the log level. -Manjula. On Mon, 2008-03-10 at 12:39 +0530, Raghavendra SM wrote: When I tried the Valgrind, it doesn't point to any obvious clues atleast. It doesn't show any definitely lost or indirectly lost blocks. Though, there are some still reachable and possibly lost blocks. Please find the attached valgrind report. Please let me know if the valgrind is revealing something here? Thanks Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Thursday, March 06, 2008 7:07 PM To: Apache AXIS C User List Subject: Re: Core dumps in Axis libraries Raghavendra SM wrote: Thanks Folks, I'm attaching the server log during the crash. Also, the first back-trace in the dump.log points to dump with guthilla=yes. The attached dump does not lead to a clue on what is going wrong. It looks to me as if there is some or the other memory corruption somewhere. I hope valgrind would lead to a clue. Thanks, Samisa... - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Core dumps in Axis libraries
Hi Raghav, Are you connecting to a fast CGI server? If so, I think that [1] would help. [1] http://search.cpan.org/src/JURACH/FCGI-ProcManager-0.17/ProcManager.pm Regards, Senaka As expected, when I put a delay of about 50 milliseconds between the requests there is no dump. But we would still like to know the following, + Isn't Axis capable of handling such huge bombardment of requests (of the order of 1000's) one after another without any delay between the requests? Has anyone tried such client before? + Can we make out anything out of the valgrind report or the axis logs that were attached? Regards, ~raghav -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Thursday, March 06, 2008 4:22 PM To: Apache AXIS C User List Subject: RE: Core dumps in Axis libraries Hi Raghav, Can you please try this with --enable-guthilla=yes, and send the dump.log, and also the appropriate log_files generated by the server/client. There also can be issues with your condition variable being used in multiple threads. It also seems that if you pause between your requests you might get this solved. According to what you say, when you increase the log_level, obviously you waste some time there which might be the solution rather. You can use the AXIS2_SLEEP() and AXIS2_USLEEP() inside Axis2/C to pause between requests. You can get an idea on how to use these functions by taking a look at the Axis2/C user_guide/client samples. Regards, Senaka Thanks, As suggested, I tried using axis2c-1.3.0 both with and without --enable-guthilla=yes. But I still see different dumps consistently. Please find the attached file with back-traces. Are you using the same service client instance from multiple threads? We have a axis thread pool with default number of threads and a set of our own threads(about 10, lets call them database threads). + On receiving a HTTP soap request, axis thread invokes the appropriate function that is bound to our logic. + Now, the axis thread requests a database thread to perform the appropriate query and waits on a condition variable. + our db thread performs the necessary query and signals on that condition variable so that axis thread shall take the control over. + axis thread will create the om output and dispatch as usual. My doubts: + does this design has any apparent drawback when there is a flurry of back-to-back soap requests? + Is there a need to increase the axis thread pool size? If yes, how to do it? + As told before, the dump is seen during a particular scenario only. i.e: while trying to add a list of already existing users to my database. For each user there is a SOAP request generated and the requests are sequential, i.e the second request is sent only after the response for previous request is received. + if I increase the log level of my own module that uses axis2c, there is no dump. On increasing the log level, my module writes quite a bit of information to my log file. Your help is appreciated. Thanks Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 05, 2008 7:25 PM To: Apache AXIS C User List Subject: Re: Core dumps in Axis libraries Raghavendra SM wrote: Thanks Manjula, But thats not a viable option for us. We would still want to continue using axis2C-1.0 for some more time. Are these dumps well known? No. Are you using the same service client instance from multiple threads? Samisa... - 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]
RE: Core dumps in Axis libraries
Hi again Raghav, Forgot to mention. This is of course if you use mod_axis2. If not I don't think this might affect you rather. Anyway the FastCGI issue may not be relevant at all. I came across that while googling for what could cause a SIGTERM in accept(2). Also, is http_server_main.cpp something that you've written on your own? If so, the issue might be in there sometimes. Regards, Senaka Hi Raghav, Are you connecting to a fast CGI server? If so, I think that [1] would help. [1] http://search.cpan.org/src/JURACH/FCGI-ProcManager-0.17/ProcManager.pm Regards, Senaka As expected, when I put a delay of about 50 milliseconds between the requests there is no dump. But we would still like to know the following, + Isn't Axis capable of handling such huge bombardment of requests (of the order of 1000's) one after another without any delay between the requests? Has anyone tried such client before? + Can we make out anything out of the valgrind report or the axis logs that were attached? Regards, ~raghav -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Thursday, March 06, 2008 4:22 PM To: Apache AXIS C User List Subject: RE: Core dumps in Axis libraries Hi Raghav, Can you please try this with --enable-guthilla=yes, and send the dump.log, and also the appropriate log_files generated by the server/client. There also can be issues with your condition variable being used in multiple threads. It also seems that if you pause between your requests you might get this solved. According to what you say, when you increase the log_level, obviously you waste some time there which might be the solution rather. You can use the AXIS2_SLEEP() and AXIS2_USLEEP() inside Axis2/C to pause between requests. You can get an idea on how to use these functions by taking a look at the Axis2/C user_guide/client samples. Regards, Senaka Thanks, As suggested, I tried using axis2c-1.3.0 both with and without --enable-guthilla=yes. But I still see different dumps consistently. Please find the attached file with back-traces. Are you using the same service client instance from multiple threads? We have a axis thread pool with default number of threads and a set of our own threads(about 10, lets call them database threads). + On receiving a HTTP soap request, axis thread invokes the appropriate function that is bound to our logic. + Now, the axis thread requests a database thread to perform the appropriate query and waits on a condition variable. + our db thread performs the necessary query and signals on that condition variable so that axis thread shall take the control over. + axis thread will create the om output and dispatch as usual. My doubts: + does this design has any apparent drawback when there is a flurry of back-to-back soap requests? + Is there a need to increase the axis thread pool size? If yes, how to do it? + As told before, the dump is seen during a particular scenario only. i.e: while trying to add a list of already existing users to my database. For each user there is a SOAP request generated and the requests are sequential, i.e the second request is sent only after the response for previous request is received. + if I increase the log level of my own module that uses axis2c, there is no dump. On increasing the log level, my module writes quite a bit of information to my log file. Your help is appreciated. Thanks Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 05, 2008 7:25 PM To: Apache AXIS C User List Subject: Re: Core dumps in Axis libraries Raghavendra SM wrote: Thanks Manjula, But thats not a viable option for us. We would still want to continue using axis2C-1.0 for some more time. Are these dumps well known? No. Are you using the same service client instance from multiple threads? Samisa... - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WSDL2C Generates Files with Compilation Errors
I've just downloaded the Axis2 version 1.3 and I cannot see any class or module that can generate C code from a wsdl file, even though the axis2c documentation specifies that there is such a tool written in Java and even points me to the Web location where I can find the the Java binaries... Can someone tell me where is the wsdl2c class/exe that generates a web service in C from a wsdl file? The required shell scripts are found inside Axis2/C itself, and not in Axis2/Java. You'll find the tool, if using source distribution in tools/codegen/javatool. Or if using binary IIRC you should see it in the bin inside your AXIS2C_HOME. According to your platform you'll either see the WSDL2C.bat or th WSDL2C.sh file. Also, the mod_axis2.dll I downloaded with axis2c (or the one I am building myself) is crushing Apache. Does anybody else see this problem? It shouldn't cause Apache to crash. If it does, it should be due to a small mistake when setting it up. Please read through the Axis2/C manual on how to deploy and setup mod_axis2. If you get it setup according to the manual, it should work without any errors. Regards, Senaka Thank you, Corneliu sreenivasulu guduru wrote: Hi I am using the attached WSDL to generate Server Stubs using the command wsdl.bat -uri so1.wsdl -ss -sd -d adb âu I used the latest Apache Axis2 SNAPSHOT build (23-01-2008). The process generates 111 C and Header files. I have them added to my VC++ project that has includes of axis2c-bin-1.2.0-win32 version. And I have the Preprocessor directive AXIS2_DECLARE_EXPORT being set for the VC++ project. There were many compiler errors such as fatal error C1083: Cannot open include file: 'adb_axis2_char_t*.h': Invalid argument:. The complete report of compilation errors is attached in the mail in the file âBuildLog.htmâ. Could you please suggest me workaround for these compilation errors? Thank You Regards Sreenivasulu Guduru _ Connect and share in new ways with Windows Live. http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008 Build Log nbsp; nbsp; --- Build started: Project: ForteWebServices, Configuration: Debug|Win32 --- Command Lines nbsp; nbsp; Creating temporary file c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\Debug\RSP15.rsp with contents [ /Od /D WIN32 /D _DEBUG /D _WINDOWS /D _USRDLL /D AXIS2_DECLARE_EXPORT /D _WINDLL /D _MBCS /Gm /EHsc /RTC1 /MTd /FoDebug/ /FdDebug/vc70.pdb /W3 /c /Wp64 /ZI /TC /I C:\Axis\axis2C\axis2c-bin-1.2.0-win32\include .\axis2_svc_skel_DataExtractServiceService.c .\axis2_skel_DataExtractServiceService.c .\adb_unsignedShort.c .\adb_unsignedShort0.c .\adb_unsignedLong.c .\adb_unsignedInt.c .\adb_unsignedByte.c .\adb_unsignedByte2.c .\adb_token.c .\adb_time.c .\adb_Struct.c .\adb_string.c .\adb_QName.c .\adb_positiveInteger.c .\adb_positiveInteger3.c .\adb_NOTATION.c .\adb_normalizedString.c .\adb_nonPositiveInteger.c .\adb_nonNegativeInteger.c .\adb_NMTOKENS.c .\adb_NMTOKENS1.c .\adb_NMTOKEN.c .\adb_negativeInteger.c .\adb_NCName.c .\adb_Name.c .\adb_long.c .\adb_language.c .\adb_integer.c .\adb_int.c .\adb_IDREFS.c .\adb_IDREF.c .\adb_ID.c .\adb_hexBinary.c .\adb_gYearMonth.c .\adb_gYear.c .\adb_gMonthDay.c .\adb_gMonth.c .\adb_GetViewListResponse.c .\adb_GetViewList.c .\adb_gDay.c .\adb_ENTITY.c .\adb_ENTITIES.c .\adb_duration.c .\adb_decimal.c .\adb_dateTime.c .\adb_date.c .\adb_byte.c .\adb_boolean.c .\adb_base64Binary.c .\adb_ArrayOfString.c .\adb_Array.c .\adb_anyURI.c .\adb_anyType.c .\adb__short.c .\adb__float.c .\adb__double.c ] Creating command line cl.exe @c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\Debug\RSP15.rsp /nologo Output Window nbsp; nbsp; Compiling... axis2_svc_skel_DataExtractServiceService.c axis2_skel_DataExtractServiceService.c adb_unsignedShort.c adb_unsignedShort0.c c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\adb_unsignedShort0.c(289) : warning C4101: 'text_value_1' : unreferenced local variable c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\adb_unsignedShort0.c(287) : warning C4101: 'ns_already_defined' : unreferenced local variable adb_unsignedLong.c c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\adb_unsignedLong.h(19) : fatal error C1083: Cannot open include file: 'adb_unsigned long.h': No such file or directory adb_unsignedInt.c c:\Documents and Settings\sguduru\My Documents\Visual Studio Projects\Axis2Test1\ForteWebServices\adb_unsignedInt.h(19) : fatal error C1083: Cannot open include file: 'adb_unsigned int.h': No such file or directory adb_unsignedByte.c
Re: Axis2/C for Apapche 2.2.8
Hi Laszlo, Will send you a Apache2.2.8 compatible mod_axis2.so built in Windows XP SP2, using VS2005. In the mean time, would it be possible for you to, 1. Attach your httpd.conf file, 2. Attach your apache error log, To this mail thread and, 3. Let me know whether your folder path contains non-ASCII characters. Regards, Senaka Hi Fernando, I have to disappoint you, the mod_axis2.so still does not wotk for me. The error message is this: The Apache service named reported the following error: httpd.exe: Syntax error on line 484 of C:/Apache2.2.8/conf/httpd.conf: Cannot load C:/Apache2.2.8/modules/mod_axis2.so into server: Could not find the giben method Could you send me your so file? Senaka Fernando írta: Hi Laszlo, AFAIK, mod_axis2 works with Apache 2.2.8. You can use two approaches. Method 1: Please confirm to whether you can find (using search in Windows) the ***mod_axis2.dll*** some where inside your ides/VC folder. The location at which it is built may vary according to how you build the solution/project and settings that you specify. Please note that this might be built somewhere else from other Axis2/C libs. Once you find it, please copy that .dll to C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll. And make sure that if you have written any path that has spaces in between, add quotation marks around it. Method 2: Use the nmake build script. If you have VS 2005 installed you don't require any additional tools. Locate the configure.in found inside build/win32, and edit it. Open a new command window and run vcvars32.bat. This can be found in C:\Program Files\Microsoft Visual Studio 8\VC\bin or any other place at which you installed VS2005. Then inside the same command window, change directory to the place where you downloaded Axis2/C. And goto the folder build\win32. Run the build.bat and once you've done, run nmake axis2_apache_module. After that, you'll find a new sub folder named deploy inside the build folder. Set this as your AXIS2C_HOME and add AXIS2C_HOME\lib to your path variable. After that you can copy the ***mod_axis2.dll*** dll that is found inside AXIS2C_HOME\lib. Regards, Senaka Regards, Senaka Hi Laszlo, Did you follow the steps as mentioned in [1] ? [1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2 -Manjula. On Sat, 2008-02-16 at 21:38 +0100, Graf László wrote: Hi all, I built sucesfully the Axis2/C module on Windows XP using VS 2005. But the testing it om Apache 2.2.8 failes with this message: Syntax error on line 490 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll into server: the module can not found (translated from hungarian). I tried to copy Axis2/C dlls to Apache bin folder but no success. Did some solve this kind of problem? Laszlo - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Problem with Service deployed
Hi Rahil, Yes, your service is ready to be used from a .NET client. But, you don't get a WSDL generated. This is because you can't generate wsdl files from C code by simply using the Axis2/C distribution. I'm however not aware of any 3rd party tools. We do have WSDL to C code generation only. Thus, if you want to get a WSDL, auto generated, for the moment, you will have to code your service (just the methods without any code in it; the skeleton in other words) in another language, say like Java or C#.NET, and get the WSDL. Then, you can use this WSDL to generate C code using the codegen tool. Several users have chosen this approach. If not, you will have to manually write a WSDL file. This is also not that much of a hard job to do. We have some sample WSDLs in the test/resources folder. I strongly believe that a C code to WSDL tool is necessary. Looking forward to have this included in the near future. Regards, Senaka Hello Senaka, Thanks very much for your reply. I have some confusion, pls clarify it: - I want to deploy a web-service; I will follow these steps + write a code and implement these functions (Service operation, hello_init, hello_invoke, hello_on_fault, hello_free, axis2_get_instance and axis2_remove_instance) and write a service.xml + I compiled that source and put it in the axis2c/service/Myservice folder. (libMyservice.so, service.xml) + Now I restart apache web server.(I have tried this with axis2_http_server as well. And access this URI(http://ip-address/asix2/services;) - After following these steps is my service ready to be used by any .Net or other client? - If yes then I am having some problems. Because the client cannot access the .wsdl file for that service, and the browser only displays the service name and available functions, no Hyper-links like the one showed in AXIS/Java tutorial. Pls see the output of the browser from my previous email. - I believe that there must be some tool which will create the .wsdl for any service that I write. - Am I missing anything here. Please help me get the clear picture of AXIS2/C web service deployment. Thanks Regards, Rahil Ali -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Thursday, March 06, 2008 10:29 PM To: Apache AXIS C User List Subject: Re: Problem with Service deployed Hi Rahil, We do have support for displaying static .wsdl files. But, the issue is we don't simply publish the .wsdl file. For the moment, you can find the required .wsdl file in the test/resources/wsdl/ folder. I have started a discussion on the developer list regarding this concern, [1]. Hope to have this issue fixed soon. [1] http://marc.info/?l=axis-c-devm=120481700919297w=2 Regards, Senaka Hello everyone, I have configured AXIS2/C with apache2 web server. I compiled calculator sample with the following command: gcc -shared -olibCalculator.o -I/usr/local/axis2c/include/axis2-1.3.0 -L$AXIS2C_HOME/lib -laxutil -laxis2_axiom -laxis2_parser -laxis2_engine -lpthread -laxis2_http_sender -laxis2_http_receiver calc.c Now when I access it through Internet explorer : http://192.168.4.163/axis2/services/Calculator it displays : Deployed Services Calculator This is a testing service, named 'Calculator' to test dynamic client Available Operations *div *add *sub *mul Problem is when I try to access its WSDL file by adding ?wsdl at the end of URL it gives an error: The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh javascript:location.reload() button, or try again later. _ Invalid at the top level of the document. Error processing resource 'http://192.168.4.163/axis2/services/Calculator?wsdl'. ... Unable to retreive wsdl for this service ^ When I tried to add this as a web-reference in VS.Net it displayed The HTML document does not contain Web service discovery information.. Please help me where I am doing wrong. Regards, Rahil Ali - 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: Problem with Service deployed
Hi Rahil, According to the present implementation, you need Axis2/Java to get the codegen tool running. This can be found at [1]. And, you can read more on WSDL2C in [2]. [1] http://people.apache.org/dist/axis2/nightly/ [2] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#wsdl2c Regards, Senaka Hello Samisa and Senaka, That sounds simple. Please help me getting started here... I will use .net to generate a simple WSDL. I will put that wsdl into $AXIS2C_HOME/services/MYSERV folder and run WSDL2C.sh script. Right? Now when I am doing this I am having a problem: Exception in thread main java.lang.NoClassDefFoundError: org.apache.axis2.wsdl.WSDL2C at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0) at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0) at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0) at __gcj_personality_v0 (/usr/local/axis2c/services/Calculator/java.version=1.4.2) at __libc_start_main (/lib/tls/libc-2.3.4.so) at _Jv_RegisterClasses (/usr/local/axis2c/services/Calculator/java.version=1.4.2) I am still not sure how WSDL2C.sh is working. I mean the script is looking for the *.jar files in $AXIS2C_HOME/lib folder. I modified that and put *.so but still no success. Can you please explain me how WSDL2C.sh works.. or gave me any article which help me implementing a C-Webservice using AXIS2/C.. AXIS2/C doesn't have that much help on Internet... Sorry for such Noob questions. Thanks Regards, Rahil Ali -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Friday, March 07, 2008 5:33 PM To: Apache AXIS C User List Subject: Re: Problem with Service deployed If you want to interop with ease with .NET, the best is that you start with a WSDL, use that to code gen for service and statically server the WSDL form service. In short, you have to use contract first mode. What you are trying is the code first model, that is hard to get it working with interop mode. Samisa... Rahil Ali wrote: Hi Senaka Another questions: I am using the Calculator sample comes with AXIS2/C. the signature of the functions is : axiom_node_t *axis2_calc_add( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_sub( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_mul( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_div( const axutil_env_t * env, axiom_node_t * node); How can I use these in .Net to generate WSDL or even if I am writing on myself what datatypes should I be entering in the WSDL? Do I have to write the basic functions like (calc_init, calc_invoke,.. .etc) in the WSDL file. I cannot find any test folder under my axis2c installation folder. Thanks for your prompt response. Regards, Rahil Ali -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Friday, March 07, 2008 1:00 PM To: axis-c-user@ws.apache.org Subject: RE: Problem with Service deployed Hi Rahil, Yes, your service is ready to be used from a .NET client. But, you don't get a WSDL generated. This is because you can't generate wsdl files from C code by simply using the Axis2/C distribution. I'm however not aware of any 3rd party tools. We do have WSDL to C code generation only. Thus, if you want to get a WSDL, auto generated, for the moment, you will have to code your service (just the methods without any code in it; the skeleton in other words) in another language, say like Java or C#.NET, and get the WSDL. Then, you can use this WSDL to generate C code using the codegen tool. Several users have chosen this approach. If not, you will have to manually write a WSDL file. This is also not that much of a hard job to do. We have some sample WSDLs in the test/resources folder. I strongly believe that a C code to WSDL tool is necessary. Looking forward to have this included in the near future. Regards, Senaka Hello Senaka, Thanks very much for your reply. I have some confusion, pls clarify it: - I want to deploy a web-service; I will follow these steps + write a code and implement these functions (Service operation, hello_init, hello_invoke, hello_on_fault, hello_free, axis2_get_instance and axis2_remove_instance) and write a service.xml + I compiled that source and put it in the axis2c/service/Myservice folder. (libMyservice.so, service.xml) + Now I restart apache web server.(I have tried this with axis2_http_server as well. And access this URI(http://ip-address/asix2/services;) - After following these steps is my service ready to be used by any .Net or other client? - If yes then I am having some problems. Because
Re: Module conflict
Hi Subra, It worked for me. I added the lines you mentioned to my httpd.conf. And, this is how I added the axis2/C info, LoadModule axis2_module /usr/lib/apache2/modules/mod_axis2.so Axis2RepoPath /home/axis2/c/deploy/ Axis2LogFile /tmp/axis2.log Axis2LogLevel debug Axis2ServiceURLPrefix services Axis2MaxLogFileSize 10 Location /axis2/services SetHandler axis2_module /Location Regards, Senaka Hello folks, I am running in to another problem and was wondering if I could get some help from you guys. Another developer in my team had to add the following lines to httpd config file. These lines are in a separate .conf file which is placed in the /etc/httpd/conf.d/ directory and gets included in the main httpd.conf file. DocumentRoot /srv/www/html/WebUI/public/ Directory /srv/www/html/WebUI/public/ Options ExecCGI FollowSymLinks AddHandler cgi-script .cgi AllowOverride all Order allow,deny Allow from all /Directory We realized that once this is added, we are unable to access our axis2 soap webservices. We are not even able to bring up the page that lists all the services and the operations. Looks like that the axis2 httpd module isn't loading properly. I did some research and I think it might have something to do with the per server config and per directory config structures in the axis2 apache module. Do we have to merge the directory config structures? I am kind of new to writing apache modules so pls excuse my ignorance if I am wrong. I will continue to investigate this issue as one of my own apache module is also not working because of this. In the meantime, if you guys have any idea please let me know. Thanks, Subra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2/C 1.2 breaks my webservice
Can you provide a sample code that could help recreate the problem. I tried the code that Manjula sent and I could not re-create the problem. Without some code to recreate the problem, it is so hard to dig into this kind of a problem :( Yep, That would be great. Regards, Senaka Thanks, Samisa... Senaka Fernando wrote: Hi Ed, Have you tried this issue with the Guththila parser, using the configure option --enable-guththila=yes ? If you havn't can you please try that. Also, if you have tried using Guththila and still get this, would it be possible for you to attach your log_file so that it is easier to locate the exact root cause of this problem. The log_file I'm referring to is the one generated by your Axis2/C Client. Regards, Senaka Hi Senaka, I am working with Subra on resolving this issue, and I am having no luck in getting Axis2/C 1.3.0 to work with the libraries he already discussed about in previous threads. Even removing the -static-libgcc flag during compilation of our libraries does not resolve the issue. Ed -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 05, 2008 1:25 AM To: Apache AXIS C User List Subject: Re: Axis2/C 1.2 breaks my webservice Hi all, Senaka, 1.3 has been released. Users can use the source pack. Why use svn? Well they should be using the source pack rather. SVN links were simply to respond to Subra's last reply. Also, I believe that the Axis2/C 1.3.0 source pack would've solved this issue. Regards, Senaka Samisa... Senaka Fernando wrote: Hi Subra, No, I meant the whole source. You can try, [1] for this purpose. [2] is the 1.2.0 tag. I think you were rather trying an RC tag, according to what I gathered from your previous replies to this thread. [1] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.3.0/ [2] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.2.0/ And, regarding, isn't the build.sh file from axis2 1.1good?. Did you use the 1.1 build.sh with, 1.2 source? Regards, Senaka Hi Senaka, I suggest you check out from a branch and try running ./build.sh so that the configure scripts will be regenerated to support your CFLAGS. If this also fails, may be it is the -static-libgcc -shared combination that gives trouble. I have downloaded ver 1.3 and would like to try my code with this version. but before I begin I just wanted to make sure that I am doing evrything correctly. What do you mean when you ask me to checkout from a branch? Do you want me to checkout just the build.sh file? isn't the build.sh file from axis2 1.1good? Subra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Samisa Abeysinghe Software Architect; WSO2 Inc. http://www.wso2.com/ - Oxygenating the Web Service Platform. - 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] -- Samisa Abeysinghe Software Architect; WSO2 Inc. http://www.wso2.com/ - Oxygenating the Web Service Platform. - 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: Axis2/C 1.2 breaks my webservice
Hi Ed, Have you tried this issue with the Guththila parser, using the configure option --enable-guththila=yes ? If you havn't can you please try that. Also, if you have tried using Guththila and still get this, would it be possible for you to attach your log_file so that it is easier to locate the exact root cause of this problem. The log_file I'm referring to is the one generated by your Axis2/C Client. Regards, Senaka Hi Senaka, I am working with Subra on resolving this issue, and I am having no luck in getting Axis2/C 1.3.0 to work with the libraries he already discussed about in previous threads. Even removing the -static-libgcc flag during compilation of our libraries does not resolve the issue. Ed -Original Message- From: Senaka Fernando [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 05, 2008 1:25 AM To: Apache AXIS C User List Subject: Re: Axis2/C 1.2 breaks my webservice Hi all, Senaka, 1.3 has been released. Users can use the source pack. Why use svn? Well they should be using the source pack rather. SVN links were simply to respond to Subra's last reply. Also, I believe that the Axis2/C 1.3.0 source pack would've solved this issue. Regards, Senaka Samisa... Senaka Fernando wrote: Hi Subra, No, I meant the whole source. You can try, [1] for this purpose. [2] is the 1.2.0 tag. I think you were rather trying an RC tag, according to what I gathered from your previous replies to this thread. [1] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.3.0/ [2] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.2.0/ And, regarding, isn't the build.sh file from axis2 1.1good?. Did you use the 1.1 build.sh with, 1.2 source? Regards, Senaka Hi Senaka, I suggest you check out from a branch and try running ./build.sh so that the configure scripts will be regenerated to support your CFLAGS. If this also fails, may be it is the -static-libgcc -shared combination that gives trouble. I have downloaded ver 1.3 and would like to try my code with this version. but before I begin I just wanted to make sure that I am doing evrything correctly. What do you mean when you ask me to checkout from a branch? Do you want me to checkout just the build.sh file? isn't the build.sh file from axis2 1.1good? Subra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Samisa Abeysinghe Software Architect; WSO2 Inc. http://www.wso2.com/ - Oxygenating the Web Service Platform. - 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]
RE: Core dumps in Axis libraries
Hi Simon, and Raghav, Yes, valgrind can help you track the exact cause of the core dump. Regards, Senaka Hi, running valgrin tool on (httpd or axis_http_server) may help you to find the reason on the core (valgrind.org). Regards Simon Quoting Raghavendra SM [EMAIL PROTECTED]: Thanks, As suggested, I tried using axis2c-1.3.0 both with and without --enable-guthilla=yes. But I still see different dumps consistently. Please find the attached file with back-traces. Are you using the same service client instance from multiple threads? We have a axis thread pool with default number of threads and a set of our own threads(about 10, lets call them database threads). + On receiving a HTTP soap request, axis thread invokes the appropriate function that is bound to our logic. + Now, the axis thread requests a database thread to perform the appropriate query and waits on a condition variable. + our db thread performs the necessary query and signals on that condition variable so that axis thread shall take the control over. + axis thread will create the om output and dispatch as usual. My doubts: + does this design has any apparent drawback when there is a flurry of back-to-back soap requests? + Is there a need to increase the axis thread pool size? If yes, how to do it? + As told before, the dump is seen during a particular scenario only. i.e: while trying to add a list of already existing users to my database. For each user there is a SOAP request generated and the requests are sequential, i.e the second request is sent only after the response for previous request is received. + if I increase the log level of my own module that uses axis2c, there is no dump. On increasing the log level, my module writes quite a bit of information to my log file. Your help is appreciated. Thanks Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 05, 2008 7:25 PM To: Apache AXIS C User List Subject: Re: Core dumps in Axis libraries Raghavendra SM wrote: Thanks Manjula, But thats not a viable option for us. We would still want to continue using axis2C-1.0 for some more time. Are these dumps well known? No. Are you using the same service client instance from multiple threads? Samisa... - 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]
Re: Problem with Service deployed
Hi Rahil, We do have support for displaying static .wsdl files. But, the issue is we don't simply publish the .wsdl file. For the moment, you can find the required .wsdl file in the test/resources/wsdl/ folder. I have started a discussion on the developer list regarding this concern, [1]. Hope to have this issue fixed soon. [1] http://marc.info/?l=axis-c-devm=120481700919297w=2 Regards, Senaka Hello everyone, I have configured AXIS2/C with apache2 web server. I compiled calculator sample with the following command: gcc -shared -olibCalculator.o -I/usr/local/axis2c/include/axis2-1.3.0 -L$AXIS2C_HOME/lib -laxutil -laxis2_axiom -laxis2_parser -laxis2_engine -lpthread -laxis2_http_sender -laxis2_http_receiver calc.c Now when I access it through Internet explorer : http://192.168.4.163/axis2/services/Calculator it displays : Deployed Services Calculator This is a testing service, named 'Calculator' to test dynamic client Available Operations * div * add * sub * mul Problem is when I try to access its WSDL file by adding ?wsdl at the end of URL it gives an error: The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh javascript:location.reload() button, or try again later. _ Invalid at the top level of the document. Error processing resource 'http://192.168.4.163/axis2/services/Calculator?wsdl'. ... Unable to retreive wsdl for this service ^ When I tried to add this as a web-reference in VS.Net it displayed The HTML document does not contain Web service discovery information.. Please help me where I am doing wrong. Regards, Rahil Ali - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2/C 1.2 breaks my webservice
Hi Subra, No, I meant the whole source. You can try, [1] for this purpose. [2] is the 1.2.0 tag. I think you were rather trying an RC tag, according to what I gathered from your previous replies to this thread. [1] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.3.0/ [2] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.2.0/ And, regarding, isn't the build.sh file from axis2 1.1good?. Did you use the 1.1 build.sh with, 1.2 source? Regards, Senaka Hi Senaka, I suggest you check out from a branch and try running ./build.sh so that the configure scripts will be regenerated to support your CFLAGS. If this also fails, may be it is the -static-libgcc -shared combination that gives trouble. I have downloaded ver 1.3 and would like to try my code with this version. but before I begin I just wanted to make sure that I am doing evrything correctly. What do you mean when you ask me to checkout from a branch? Do you want me to checkout just the build.sh file? isn't the build.sh file from axis2 1.1good? Subra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2/C 1.2 breaks my webservice
Hi all, Senaka, 1.3 has been released. Users can use the source pack. Why use svn? Well they should be using the source pack rather. SVN links were simply to respond to Subra's last reply. Also, I believe that the Axis2/C 1.3.0 source pack would've solved this issue. Regards, Senaka Samisa... Senaka Fernando wrote: Hi Subra, No, I meant the whole source. You can try, [1] for this purpose. [2] is the 1.2.0 tag. I think you were rather trying an RC tag, according to what I gathered from your previous replies to this thread. [1] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.3.0/ [2] http://svn.apache.org/repos/asf/webservices/axis2/tags/c/1.2.0/ And, regarding, isn't the build.sh file from axis2 1.1good?. Did you use the 1.1 build.sh with, 1.2 source? Regards, Senaka Hi Senaka, I suggest you check out from a branch and try running ./build.sh so that the configure scripts will be regenerated to support your CFLAGS. If this also fails, may be it is the -static-libgcc -shared combination that gives trouble. I have downloaded ver 1.3 and would like to try my code with this version. but before I begin I just wanted to make sure that I am doing evrything correctly. What do you mean when you ask me to checkout from a branch? Do you want me to checkout just the build.sh file? isn't the build.sh file from axis2 1.1good? Subra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Samisa Abeysinghe Software Architect; WSO2 Inc. http://www.wso2.com/ - Oxygenating the Web Service Platform. - 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: running WSDL2C
Neat, Regards, Senaka. Got it working once I downloaded Axis2/J ;) On Sun, Mar 2, 2008 at 9:21 AM, Sam Carleton [EMAIL PROTECTED] wrote: Ok, I created the Microsoft Web Serice Walkthrough that creates a simply ConvertTemperature method. I compiled it and ran it. Then this URL gaves me what looks like WSDL: http://localhost:1326/Service1.asmx?WSDL I saved that to path\axis2c-src-1.2.0\tools\codegen\javatool as temp.wsdl Then I ran WSDL2C temp.wsdl -ss -sd -d adb -u and this was the output REM set AXIS2_HOME = C:\axis2-1.1\axis2-1.2-SNAPSHOT setlocal EnableDelayedExpansion set AXIS2_CLASSPATH=J:\Programs\axis2c FOR %c in (J:\Programs\axis2c\lib\*.jar) DO set AXIS2_CLASSPATH=!AXIS2_CLASSPATH!;%c; java -classpath J:\Programs\axis2c org.apache.axis2.wsdl.WSDL2C temp.wsdl -ss -sd -d adb -u Exception in thread main java.lang.NoClassDefFoundError: org/apache/axis2/wsdl/WSDL2C Any thoughts on what the problem might be? Sam -- The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it. - 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: Axis2/C 1.2 breaks my webservice
Hi Subra, I suggest you check out from a branch and try running ./build.sh so that the configure scripts will be regenerated to support your CFLAGS. If this also fails, may be it is the -static-libgcc -shared combination that gives trouble. And, also, this can be caused by someone hard-coding CFLAGS so that it will not use the CFLAGS that you define, as CFLAGS = xx instead of CFLAGS = $CFLAGS xx. Regards, Senaka Subra A Narayanan wrote: You mean 1.1? Sorry for the confusion. Yes I meant Axis2 1.1 This is a thread issues as per your description. Hence I wonder if gdb trace would lead to the exact problem, but it will lead to some clues as to where it is hanging etc. The following information would help: 1. What are the CFLAGS and LDFLAGS you used when compiling the service? In other words what are the compiler options and -l (linker) options? Have you linked your external library to the service so in compiling? Is the external library on LD_LIBRARY_PATH or in a locatable path? Here are my CFLAGS and LD_FLAGS value. Here 'myclient' is the external library I have been telling you about. CFLAGS = -fPIC -static-libgcc -shared -z initfirst LD_FLAGS = -L /deps/axis2c/lib -L /mylib/ -l axutil -l axis2_engine -l dl -l pthread -l myclient Yes the library is in a locatable path. It works just fine with Axis2 1.1. It gives me problem only with Axis2 1.2 Also I make couple of different calls to myclient library. Looks like only when I call a function that uses multiple threads does my code hand. I cannot see anything wrong with LD_FLAGS. Do you have Axis2 1.1 libs in the machine that you are testing with Axis2 1.2? Also, I am not sure if -static-libgcc in CFLAGS would have a side effect. Can you try with Axis2 1.3? Samisa... - 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: Axis2/C and UDDI
Hi Sam, OK, I believe you are looking for WSDL generation for C Services. You don't see a WSDL file because in .NET, when you point to your URL you will see an ASMX test interface rather. That is .NET specific, and we don't have a similar alternate. Calling http://localhost/axis2/services/echo?wsdl or something similar in a .NET context would show you a WSDL. And, that is also a .NET specific way of doing things. We don't have something similar too. However, I'm not sure whether we support CtoWSDL. Devs, do we support this? Anyway, you can always come up with an easy workaround. That is to primarily use .NET to generate the WSDL file for you and based on that WSDL file, the codegen tool (WSDL2C) can generate C code for you. Thus, you will have to write the service in .NET and then get the WSDL file, use it, and create C code. Therefore, you will write code only once. Also, it is possible to manually write service discovery files and use it for services that don't provide WSDL files in .NET. This is a real tedious process. Regards, Senaka I am new to web services and I am still trying to figure out how all the pieces going together. My final objective is to write bunches of web services using Axis2/C and served up by Apache that can be consumed by a .Net Windows application. According to this book I am reading online, UDDI are Service Discovery and Service Publication pieces of Web Services stack. I have Apache running with the Axis2/C module installed with the sample modules. When I direct my browser to http://localhost/axis2/services or any deeper URI, such as http://localhost/axis2/services/echo, I get the same thing, what looks like a very simple html dump of all the modules. I have tried pointing Microsoft Visual Studio 2005's Web Services with no luck. What am I missing? Considering I want to do a lot with Web Services, I think I am missing a whole lot, so do you have any good suggestions on where I can go to come up to speed on Web Services? Sam - 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: can't find codegen source files referenced by provided vc workspaces
Hi Dimuthu, I wonder what on earth is these VS2005 projects for? :D... See inside ides/vc/axis2c/codegen/. Can't we get rid of this folder too? Regards, Senaka Hi Carl, That was the codegen tool implemented in C. It is no longer part of Axis2/C due to the lack of maintenance. Use the axis2/java codegen[1] tool to generate c projects. you can use axis2/c manual[2] as a guideline. [1] http://people.apache.org/dist/axis2/nightly [2] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#wsdl2c Thanks Dimuthu On Tue, Feb 26, 2008 at 10:11 PM, Carl Lefrançois [EMAIL PROTECTED] wrote: the axis2c\ides\vc\axis2c\codegen\ directory holds some visual studio 2005 project files. In these project files there are references to C source files that do not exist in the wso2-wsf-c-src-1.2.0.zip source archive. an example from the codegen\w2c\w2c.vcproj file: RelativePath=..\..\..\..\..\tools\codegen\src\wsdl2code.c on my workstation, the only thing in \tools\codegen\ is the javatool directory. I checked the SVN repository at [1] and see the same thing. 1. http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/ Where can these *.c files be downloaded from? - 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: function parameter different from declaration parameter
Hi Carl, We recently eliminated a large number of warnings on MS Windows. However, VS2005 did not report these warnings. It would be really helpful if you could copy the output of VC 6.0 into .rtf format (copy n paste in wordpad) or .xls format and attach to this mail. It would make it easier for us to fix these issues. Well, sometimes the header will have to change, sometimes it would be the source. This is a tricky thing. Regards, Senaka when compiling the Axis2/C source I get many C4028 warnings formal parameter x different from declaration in the example below, the declared parameter is const int and the function declares it as int. declaration: (\include\axis2_callback.h) AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, const int exception); function: (\src\core\clientapi\callback.c) AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, int exception) { axis2_callback_set_error(callback, env, exception); return callback-on_error(callback, env, exception); } Is there a reason for this difference? I am asking before I try changing the declarations to see if they help me solve my debugging problem. Thanks in advance! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: function parameter different from declaration parameter
Hi Carl, In that case I believe 1.3.0 will solve most of your warnings. Well the elimination of warnings on windows was done for the 1.3.0 release. However, it is still better if you could attach a list of them. I'm not so sure whether VS2005 and VC 6.0 are similar when it comes to reporting warnings. Regards, Senaka Samisa Abeysinghe wrote: Carl Lefrançois wrote: when compiling the Axis2/C source I get many C4028 warnings formal parameter x different from declaration in the example below, the declared parameter is const int and the function declares it as int. declaration: (\include\axis2_callback.h) AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, const int exception); function: (\src\core\clientapi\callback.c) AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, int exception) { axis2_callback_set_error(callback, env, exception); return callback-on_error(callback, env, exception); } Is there a reason for this difference? I am asking before I try changing the declarations to see if they help me solve my debugging problem. That is a bug. BTW, I looked into the svn code and someone has fixed it sometime back. I guess you are using 1.2 release. The fix will be available with 1.3 release. Samisa... - 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: axis-c and apache modules...
Hi Sam, I believe you are referring to Axis2/C. Axis doesn't have a C implementation, but, a C++ implementation rather. You can of course use your own module instead of the existing one. You will have to implement the mod_axis2.c file to suit your environment. If you want any further customization, you are free to modify the entire source within src/core/transport/http/server/apache2, as long as it does comply to the headers. Regards, Senaka I am working on a project that currently has an Apache C module in it. Now I need this C code to talk to some applications via SOAP. Is axis-C what I am looking for or is that a stand alone SOAP/Web Service implementation using the Apache engine? Ideally I would like to simply add to the one existing Apache Module I have written. Sam - 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: axis-c and apache modules...
Hi Sam, As I added before to this discussion, I believe that you could use either of the two options, 1. Adding mod_axis2 2. Adding mod_existing (+ mod_axis2 features) The manual caters for 1, which actually targets users, developers like you seeking for option 2, will rather have to browse through the header files, to understand the inner workings of Axis2/C. However, as I said before, I believe that if you could add the functionality in mod_axis2.c (just this single file), into your module, and add to it the other files in src/core/transport/http/server/apache2, which are support methods and API extensions, you can improve your module to include Axis2/C support. Thus, you will require just only your module being deployed in your apache server instance, instead of having two. Regards, Senaka On Sun, 2008-02-24 at 23:48 -0500, Sam Carleton wrote: On Sun, Feb 24, 2008 at 11:32 PM, Samisa Abeysinghe [EMAIL PROTECTED] wrote: Ok, let me present my perspective. You can use Axis2/C's httpd module and implement a service, that will wrap your current C/C++ business logic and the .NET application can communicate with the service hosted with Axis2/C's httpd module. So do you have any tips on exactly how I might go about doing this? Please follow [1]. First off, it is the nature of Axis2/C such that the service is linked into the same module as Axis2/C or is the service normally a library that Axis2/C loads up via configuration? Yes service is a library Axis2/C loads up through the configuration. Follow [2] on how to deploy a service in Axis2/C. [1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2 [2] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#quick_start I get the impression it is the former, if that is the case, how might I go about blending the Axis2/C module with my existing module? Sam - 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]
Re: [AXIS2C] trouble debugging under windows
Hi again Carl, Below is an answer to three questions you had. I have not tried these, mainly because I work in a VS2005 environment where I don't require such modifications. but, I believe it is worth to give it a try. Debugger Options I did try to make a project on a Visual Studio 6.0 environment. I see that it defines some flags as follows. /nologo /MLd /W4 /Gm /GX /ZI /Od /D WIN32 /D _DEBUG /D _CONSOLE /D _MBCS /FpDebug/hash.pch /YX /FoDebug/ /FdDebug/ /FD /GZ /c Now, these are what we have in our makefiles, /D WIN32 /D _WINDOWS /D _MBCS /D AXIS2_DECLARE_EXPORT \ /D _CRT_SECURE_NO_DEPRECATE /D _CRT_SECURE_NO_WARNINGS \ /D AXIS2_SVR_MULTI_THREADED /W3 /wd4100 /WX /MP10 /nologo $(AXIS2_INCLUDE_PATH) \ $(APACHE_INCLUDE_PATH) It seems that, /W4 can be /W3, /Gm and /GX are not so needed. The /F flags are simply file outputs. *.pch is a pre-compiled header which is not required. Also, /MLd is equivalent to /MDd that we use. However, you may need the /ZI, /YX, /GZ flags in the makefile. You have to add these three CFlags, at the end of the existing ones. This is listed under the compiler options section in the makefile found inside build\win32. I hope this might help. If you still can't get it debugged, try adding the /Zi and /Z7 flags too. Line Ending Conversions --- To do line ending conversions, there is a tool called dos2unix. Once you install that, you will have to run UNIX2DOS on each file that you experience this issue. It would be great if you could find a way to reccursively call UNIX2DOS on each C file. Below is a way to do that, but, I have not tried this. for /F tokens=* %%G in ('dir /B /S *.c*') do absolute_path_of_unix2dos %%G for /F tokens=* %%G in ('dir /B /S *.h*') do absolute_path_of_unix2dos %%G You will have to replace absolute_path_of_unix2dos suitably, and if the path has spaces remember to put quotation marks around. Run this inside the axis2/c root folder so that it will recursively replace files in all sub folders. Creating Workspaces --- It would be great if you could add some VC 6.0 workspaces to Axis2/C so that it would help other VC 6.0 based developers. Just raise an issue on the Axis2/C JIRA and attach a .zip. Or simply mail in to the developer list. To get an idea on what workspaces are required, you can have a run through on the ones that we have for VS2005, which can be found in ides/VC. Basically, each sub folder means a sub section. You may not be able to open VS2005 projects in VC 6.0, but, of course they are readable when you open them in wordpad. I believe this can guide you through. Each project file would contain repeated information, and therefore, by reading just two or three you will understand what is happening. Regards, Senaka Hi Carl, I Think VC 6.0 can't recognize LF (unix style) line endings. We do support VS2005 upwards, and we don't see any issue there. Of course I believe that there should be a way that you could convert unix code into dos compatible code, by using something like unix2dos. Doing so, you can achieve your requirement. Also, we do have Visual Studio 2005, C projects for each major component. We believe that the wide majority of developers do use VS2005 by now, and we have only made sure that it builds on a VC 6.0 compiler. Regards, Senaka For several days I have been struggling to enable line by line debugging in visual C 6.0. An example of the problem is that while stepping through code, when attempting to step into a call to the client API, the debugger shows the wrong lines of code and wrong call stack. steps taken to resolve: -make sure all modules are compiled with the same compiler and linker options -create new workspaces for each module -take options directly from makefile provided in /build/win32 -replace LF line endings with windows-style CRLF line endings in .c and .h sources (supposed to affect C preprocessor line count) so far in all cases the behaviour is the same: I can step through my code but not into any client API DLLs. My hope in sending this message is that someone using the same environment can confirm they are able to debug properly in client API DLLs (or any Axis2 DLL for that matter). So far aside from work environment compatibility problems, the experience with Axis2C is very positive. Thanks in advance for any advice you may give me! Carl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Couple of questions regarding Parameters inside AXIS2.XML and Service.xml
Hi Mike, See my comments inline. I could not figure this out from the documention. It would be great if somebody could answer questions concerning parameters (for services.xml and axis2.xml) I found this is the AXIS2C Documentation parameter The service element can have any number of parameters as sub elements. Attributes Description Possible Values Value of the Text in the Parameter Element name Specifies the name of the shared library that holds the service implementation serviceClass the service name. Example: echo locked Indicates whether the parameter can be changed from the code true / false My Questions: 1.Can my Web Service add a parameter so that it ends up in services.xml. I have context information that needs to be persistent. Is this the intent of the parameter? What is the API? It is not possible to access the services.xml file. However, you can access the content made available inside the services.xml file which will be loaded into the service's configuration. Refer, 1. axis2_svc_ctx.h 2. axis2_svc.h That is the API. 2.My other question concerns AXIS2.XML. Can I also add/modify parameters via my Web Service? What is the API? Same here. The axis2.xml will be loaded into the engine configuration. If you can fill the right information into the right place, the engine will be blind enough to believe that it has been there since the right beginning. Your attention will have to be paid to, 1. axis2_conf_ctx.h 2. axis2_conf.h In addition to that, to understand how the engine loads to itself the configuration information, go through source found inside the src/core/deployment sub directory. I know this sounds hard, but, it wouldn't be a big deal to figure out what should be done. If you want to write to axis2.xml and services.xml, you will basically have to release any thread locks applied on them, and also, you will have to use an xml writer. The engine only reads these at present and does not write. For hot deployment, you will need only to read, but for hot modifications, you will have to write. Feel free to introduce new API. But, it is strongly advised not to change the existing API. I mean the method signatures not the body here. Of course you can modify the body. Please raise an issue on the Axis2/C JIRA so that other developers can get involved too. Regards, Senaka - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [AXIS2C] trouble debugging under windows
Hi Carl, I Think VC 6.0 can't recognize LF (unix style) line endings. We do support VS2005 upwards, and we don't see any issue there. Of course I believe that there should be a way that you could convert unix code into dos compatible code, by using something like unix2dos. Doing so, you can achieve your requirement. Also, we do have Visual Studio 2005, C projects for each major component. We believe that the wide majority of developers do use VS2005 by now, and we have only made sure that it builds on a VC 6.0 compiler. Regards, Senaka For several days I have been struggling to enable line by line debugging in visual C 6.0. An example of the problem is that while stepping through code, when attempting to step into a call to the client API, the debugger shows the wrong lines of code and wrong call stack. steps taken to resolve: -make sure all modules are compiled with the same compiler and linker options -create new workspaces for each module -take options directly from makefile provided in /build/win32 -replace LF line endings with windows-style CRLF line endings in .c and .h sources (supposed to affect C preprocessor line count) so far in all cases the behaviour is the same: I can step through my code but not into any client API DLLs. My hope in sending this message is that someone using the same environment can confirm they are able to debug properly in client API DLLs (or any Axis2 DLL for that matter). So far aside from work environment compatibility problems, the experience with Axis2C is very positive. Thanks in advance for any advice you may give me! Carl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: speed up build process
Hi Mark, You can include paths with whitespaces using quotation marks. Regards, Senaka hello users, hello Lahiru, files in your zip have the correct structure. i have extended the generator a little with other templates, for example the build.bat from Senaka. the output i expect for vs2005 could be found here [1] i have included a static test_Calculator.bat, maybe you can report what output it has (be aware the path to the folder shouldn't have any whitespaces). please also have a look in the main from /_gen/run.java, tried to give some hints and cleaned the code a little. any comments are welcome mfg derMark [1] http://www.9elements.com/dermark/generated_files.zip - 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: iconv version mismatch
Hi Carl, You can find the Axis2/C JIRA at [1], and the Axis2/C manual (online version) at [2], and it is better if you could also subscribe to the developer mailing list, where the developers do talk on Axis2/C issues. More info on how to subscribe can be found at [3]. Also, note that the changes you propose will be applied to the svn head which can be checked out (downloaded) from [4]. If you are going to suggest a patch in addition to raising an issue on the JIRA, which you can do, you will have to propose it against the svn head. [1] http://issues.apache.org/jira/browse/AXIS2C [2] http://ws.apache.org/axis2/c/docs/axis2c_manual.html [3] http://ws.apache.org/axis2/c/lists_issues.html [4] https://svn.apache.org/repos/asf/webservices/axis2/trunk/c Regards, Senaka Thank you for your messages, Mark and Samisa What is a jira and how do I raise one? I will go ahead and do that for the documentation bug about the iconv version. Thanks for your assurance that the access violation is not related to iconv. This morning I cleaned and extracted the source a second time and went through the install process again to make sure I did not miss any small details. The access violation is still there so I must assume there is something incompatible with my system. (I did a system-wide search for the dlls Axis2c depends on and found no conflicting versions) I am using winxp sp2 and the ms visual c++ 6.0 compiler. I may be able to try the suggested vs 2005 exp compiler but I am limited to a standard corporate environment. What I have tried so far: -debug = 0(default) and debug = 1 in the root\build\win32\configure.in, building with root\build\win32\build.bat: no errors during build but access violation on launch (even of axis2_http_server.exe -h) -debug = 1(default) and debug = 0, with_mysql = 1(default) and with_mysql = 0, with_tcp = 1 (default) and with_tcp = 0 in the root\configure.in, building with root\build.bat: gives the following errors = apache2_out_transport_info.c ..\..\src\core\transport\http\server\apache2\axis2_apache2_out_transport_info.h(33) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_stream.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory apache2_worker.c ..\..\src\core\transport\http\server\apache2\apache2_stream.h(25) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory mod_axis2.c ..\..\src\core\transport\http\server\apache2\mod_axis2.c(19) : fatal error C1083: Cannot open include file: 'httpd.h': No such file or directory = Apache is not mentioned as a dependency in the install guide. Attaching a debugger on the access violation after launching axis2_http_server.exe -h gives this call stack: 0002() axis2_getopt(int * (void)* 0x0002, char * const * * (void)* 0x006215f0, const char * 0x0040442c) line 71 + 3 bytes main(int 2, char * * 0x006215f0) line 119 + 18 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 7c816fd7() The instruction pointer is at line if (optind = __argc || *(pos = __argv[optind]) != '-') In getopt_windows.c with optind at 1. Any suggestions on what may be wrong with my configuration are welcome :) I will go back to using the executables from the axis2c binary distribution. So far I have succeeded in adding a custom service to the server and have consumed it with a custom client. There is a pesky access violation resulting from axis2_svc_client_free() that I can hopefully track down once I get debug versions of the client dlls running. Sorry for the long message and thanks in advance for any help that might be forthcoming. Carl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: problem building debug version of Axis2/C on Win32
Hi Carl, This is fixed on the svn head, under the revision 616848, Wed Jan 30 19:13:51 2008 UTC. Regards, Senaka Hello group, I ran into a configuration problem when building the debug version of Axis2/C under Win32 Visual C 6.0 after setting DEBUG=1 on line 30 of \axis2c\build\win32\configure.in attempting nmake install with this configuration gives a LNK1146 error no argument specified with option /INCREMENTAL line 180 of file \axis2c\build\win32\makefile reads: LDFLAGS = $(LDFLAGS) /DEBUG /INCREMENTAL in the msdn documentation I found (link: http://msdn2.microsoft.com/en-us/library/4khtbfyf(vs.80).aspx ) /INCREMENTAL is implied when /DEBUG is specified. so I removed /INCREMENTAL from line 180 of the makefile and now the nmake finishes. Hope this helps - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2/C for Apapche 2.2.8
Hi Laszlo, AFAIK, mod_axis2 works with Apache 2.2.8. You can use two approaches. Method 1: Please confirm to whether you can find (using search in Windows) the ***mod_axis2.dll*** some where inside your ides/VC folder. The location at which it is built may vary according to how you build the solution/project and settings that you specify. Please note that this might be built somewhere else from other Axis2/C libs. Once you find it, please copy that .dll to C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll. And make sure that if you have written any path that has spaces in between, add quotation marks around it. Method 2: Use the nmake build script. If you have VS 2005 installed you don't require any additional tools. Locate the configure.in found inside build/win32, and edit it. Open a new command window and run vcvars32.bat. This can be found in C:\Program Files\Microsoft Visual Studio 8\VC\bin or any other place at which you installed VS2005. Then inside the same command window, change directory to the place where you downloaded Axis2/C. And goto the folder build\win32. Run the build.bat and once you've done, run nmake axis2_apache_module. After that, you'll find a new sub folder named deploy inside the build folder. Set this as your AXIS2C_HOME and add AXIS2C_HOME\lib to your path variable. After that you can copy the ***mod_axis2.dll*** dll that is found inside AXIS2C_HOME\lib. Regards, Senaka Regards, Senaka Hi Laszlo, Did you follow the steps as mentioned in [1] ? [1] http://ws.apache.org/axis2/c/docs/axis2c_manual.html#mod_axis2 -Manjula. On Sat, 2008-02-16 at 21:38 +0100, Graf László wrote: Hi all, I built sucesfully the Axis2/C module on Windows XP using VS 2005. But the testing it om Apache 2.2.8 failes with this message: Syntax error on line 490 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_axis2.dll into server: the module can not found (translated from hungarian). I tried to copy Axis2/C dlls to Apache bin folder but no success. Did some solve this kind of problem? Laszlo - 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]
Re: Problem with multi client requests.
Hi Prasad, I believe you ran into this issue on Windows. The issue lies with the implementation of threads on Windows. I tried to get this solved once, but couldn't. If you are interested in fixing this, I think it would be easier if you could take a look at thread_windows.c Regards, Senaka Hi I have created an application with two axis2 clients using the same axutil_env_t object, which send requests to two services . At the service end, the requests are served successfully but in the http_server console it prints Error in my_thread_global_end(): 1 threads didn't exit. Also it takes a bit latency in serving the requests. I went through the log files but couldn't find anything relates to this. For one client it serves without any problem. So I wonder what is the problem with clients or services which generates this error. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: AW: [Axis2C] how to return a MsgBox
Hi all, I believe you are requesting support for session on Axis2/C? So that you can have a conversation between Client and Server. Am I missing something here? AFAIK, Bill spoke on implementing Session with CURL. Or else is this possible through Savan/C (WS-Eventing)? Regards, Senaka Hello Josef, i've read your first post, opened a reply - starting to write my thoughts down - deleted it, cause im not an expert ;-) first, i think you have to write your server side callback method outside the service, cause the service is only active when triggerd. you can use axis2 api to create payload - clear. second, if i am right, not alle mep's from wsdl are supported. i think you want to have Solicit-response/out-in. i do not know corba very well, but i think your former corba server could send the message to the client, cause the client is registerd and will be found over orb/naming service !? the client seems to be permanetly connected / has a listening port !? possible solutions i can imagine for axis2 : 1. the client has to ask from time to time if something has happend on serverside. if nothing has happend on serverside, server didn't send back anythink or just a message like no thanks, ask again. otherwise the server replys with your yes/no question, client has to answer. but i think this is not what you want, if you talk about a server side callback. 2. when starting your client, you call a registerWithServer method, to let the server know the clients endpoint, using the servers context, maybe at application level ? write a service (not an axis service) that has a callback. when your conditions are met, query the context and send the question. now you have the problem, that the client is not listening - you have to run a axis service on clientside :-( 3. client sends an async message to you server, server saves all informations in context to answer and quits without reply. i do no know what will happen ;-) maybe you have to increase client-side timeout ? write non axis service and your callback, when conditions are met, query the context and create payload, then answer the initial async question. cause i do not know if it is important to answer the question yes/no immediately, when conditions are met - maybee this is also possible : 4. write a non axis service, when condition is met, write a flag to the context. when client tries to communicate (you know the user is active), query the context for the flag, send an special-fault as answer. axis-client has to interpret this fault as yes/no question, send the answer and service can do its work, reseting the flag in context. after this, the user as to resend the initial message again. mh, i don't really have an answer for you, just some thoughts and to let you know that you are not alone with webservice paradigm and its problems ;-) mfg derMark Stadelmann Josef schrieb: Hi Dinesh What relates to Axis2C and what not, how can a novice like I know that in FULL. i.e. possible Callbacks to caling clients without posting the service thread, but making it wait for the answer to occure. i.e. Agent paradigm. I am just seeking for an elegant method to invoke from within an Axis2/C server/service something like a callback to the client which askes Windows for a Windows MSGBOX with YES NO Buttons and a msg and a title. When the user then clicks a button, the answer is transfered to the waiting server/service and the service will evaluate the asnwer and can then continue. I am seeking an elegant way, one of you migth know, such as how to call back or agree on a clall back routin in the originating Axis2/C client If nobody knows that at your side of the pond, well, then I have to do it the hard way by miyelf. I generate a client side stub which is invoked by a server/service which sends to any server/service a message a title, a cpation, and some buttons or at least ID's to it. The receiving service, in this case on a windows system, will then invoke a Windows Operating System call and ask for a MsgBox. Once the button is clicked the resulting button value is then returedn as an integer to the client, which is in this case the invoked web service. I did so in the past using a corba server on a windows system Now all what changes is CORBA to WebServices And the paradigm is CLIENT - AGENT - question to MSG-BOX-SERVER and back. where Client is a web service client on a PC the Agent is the axis2/c webservice server which needs to ask back the Server is service hosted on the same PC as the Client resides. The bas thing is that I need on each PC a web service/server for that, Josef, -Ursprüngliche Nachricht- Von: Dinesh Premalal [mailto:[EMAIL PROTECTED] Auftrag von Dinesh Premalal
RE: [AXIS2C] Need IIS 6 instructions on how to set up Axis2/C
Hi Dave, Did any other sample work? for instance math? on IIS I mean. Regards, Senaka Hi Supun, I sent out a message to the list about a problem I am having getting my dll to load with IIS 5.1. Do you have any ideas? I build all my code in release mode and we use the same supporting dlls in our gSoap implementation so they should load fine in IIS as we use gsoap in IIS as well. If I run with the simple axis2 server it works great. Under IIS I get the error saying my dll failed to load. I put all my dlls in 2 places: 1. In my services directory where my services.xml and service dll is located and also copied into the axis2c lib dir to see if that would help. Is there a quick way to find out why this is not working? Thanks, -Dave. -Original Message- From: Supun Kamburugamuva [mailto:[EMAIL PROTECTED] Sent: Thursday, January 03, 2008 8:44 PM To: Apache AXIS C User List Subject: Re: [AXIS2C] Need IIS 6 instructions on how to set up Axis2/C Hi Dave, The instructions are same for the IIS 5 and IIS 6. At the moment IIS module doesn't differentiate between IIS 6 and IIS 5. IIS module is built as a filter and an extension. This is the best way to do this in IIS 5. But in IIS 6 filters may be instantiated multiple times. That means multiple instances of Axis2/C. The same problem existed with Apache server and I think now it is fixed for Apache in Linux. There is another way that we can do this in IIS 6. In IIS 6 we can drop the filter part completely and use an extension only. But last time I checked on this there were several problems like multiple instances, how URL dispatching works etc. As soon as possible I will look in to this again and see if the module can be done in a IIS 6 specific way. Regards, Supun. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. ** - 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] Really a great product, but manual is too short
Hi Sébastien, Thanks for your concern. I believe that the doxygen conf file is there, but we need to make sure our api documentation is done well. Some functions are not properly documented. I believe this needs some looking into. BTW, I did raise a JIRA as Wish to include a demo server/client that builds up from ground zero to a bit complex one. I think we can consider that too. It can be found at [1]. [1] https://issues.apache.org/jira/browse/AXIS2C-721 Regards, Senaka On Wed, 2008-01-23 at 19:10 +0530, Samisa Abeysinghe wrote: Sébastien Mougey wrote: Hello I'm using Axis2/C for two weeks now, and it's really a great tool. I use it to run a server and two clients, with everything I need and without any bugs or memory leaks. Thank you for the complement. Unfortunately, I think the manual is good to create a simple demo server and a simple demo client, but not for a real development. We value your feedback very much. Can you please suggest the areas that we need to document more? May be you can tell us the areas you faced the problems so that we can get an idea. Thanks, Samisa... Axis2C/Manual and Axiom manual are only introductions to the full power of Axis2 libraries. A full manual with API functions explanation would be great (the doxygen files are a good start) ! I'm French and my English is not good enough to help you for this. Thanks to all Axis2/C developers, you're doing a great job Sebastien - 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]
Re: [Axis2C] Get peer ip addresswith Apache server
Hi Mougey, Samisa, and Dumindu, On Jan 19, 2008 12:53 AM, Senaka Fernando [EMAIL PROTECTED] wrote: Sébastien Mougey wrote: How can I get this address with Apache server ? Is it possible ? I think it should be possible, however, I need to look into the code to give you a definite answer. I will have a look and let you know. Yes, indeed it is possible. We need to use ap_get_remote_host(). However, I'm not quite sure what other methods, data are required to call this method, and how we could access them. Looking into that. ap_get_remote_host() tries to lookup the remote server's DNS name. Only if that fails will it return the ip address. You can however get the ip address of the remote host at the axis2_handler as follows: char* remote_ip = req-connection-remote_ip; Okay, I think we can go ahead with this. The method axis2_apache2_worker_process_request() has access to the above data as well as the msg_ctx, and therefore, it can be made available, as in the simple axis server. Regards, Senaka Regards, Dumindu. -- Dumindu Pallewela http://blog.dumindu.com GPG ID: 0x9E131672 WSO2 | Oxygenating the Web Service Platform | http://wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2C] Get peer ip addresswith Apache server
Sébastien Mougey wrote: How can I get this address with Apache server ? Is it possible ? I think it should be possible, however, I need to look into the code to give you a definite answer. I will have a look and let you know. Yes, indeed it is possible. We need to use ap_get_remote_host(). However, I'm not quite sure what other methods, data are required to call this method, and how we could access them. Looking into that. Regards, Senaka - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: [AXIS2C] how to set logging to stderr?
Hi Dinesh, and Josef Hi this is a cheap solution, to set permissions etc. The better way is this. As you see, in Linux, the std-streams are mapped to files. If you write to those files they will be written to the respective streams irrespective of what and how you write. You can't prioritize redirects to specific locations. That means it is impossible to write error messages to one and debug messages to another according to the current implementation. However, you should be able to write to several locations with priorities if you build yourself a little extension. This is the process. 1. You'll have to figure out how to write to stdout. That means you have to write to that file that maps to the stdout stream. 2. You will run your axis_based_executable inside another. 3. Read more on how you could use fork and exec to create background processes so that you can run one application inside another. 4. You outer application will barely listen to the stdout stream. 5. Then it is upto your outer application to do the logging. 6. Identification of error/debug etc messages can be done using a regular expression parsing mechanism. Startup Workflow: A - outer_client B - inner_axis_based_client 1. run A 2. A runs B (background) 3. B writes logs to stdout 4. A listens to stdout 5. A writes to log_file, stderror etc. Exit Workflow: A - outer_client B - inner_axis_based_client 1. A catches Ctrl+C 2. A kills B 3. A exits I know that this is so complicated but I don't see any better way. Regards, Senaka Hi, Stadelmann Josef [EMAIL PROTECTED] writes: Thanks, but as I do not use axis2 simple server ... I am jsut using the axiom libs and libs forming the base such as axutil and libxml2 etc. What do I use to redirect output in code? axis_log = axutil_log_create(allocator, NULL, NULL); this creates an axis2.log under . directory AFAIK , there is a no such a way to redirect out put to stdout or stderr. However I could say you a small workaround for this. Try to assign a log file which doesn't have write permission. For example, if your logs written into echo.log, set it's file permission to 333 (or 000). $chmod 000 axis2.log (this is not recommended though) It will redirect output to stderr then, and please raise a jira issue for this. thanks, Dinesh -- http://nethu.org - 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] Client with xml declaration
Hi AFAIK, There is a JIRA issue raised against this at [1]. The patch is not yet applied. This feature will be available on the head as soon as the patch is applied. Then, You'll merely have to change a setting in axis2.xml. Please take a look at [1], once it is resolved this feature will be available on the head. [1] https://issues.apache.org/jira/browse/AXIS2C-666 Regards, Senaka Hello I can't find how I could tell Axis2/C in client mode to add a xml declaration to the request. I only want my request to start with : ?xml version=1.0 encoding=UTF-8? Thank you for your help - 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] Client with xml declaration
Hi Sébastien, This is now available on the head. Set parameter name=xml-declaration insert=true/ for the respective transport and run your server/client. Please note that you have to obtain an svn checkout from [1]. Regards, Senaka [1] http://svn.apache.org/repos/asf/webservices/axis2/trunk/c Hi AFAIK, There is a JIRA issue raised against this at [1]. The patch is not yet applied. This feature will be available on the head as soon as the patch is applied. Then, You'll merely have to change a setting in axis2.xml. Please take a look at [1], once it is resolved this feature will be available on the head. [1] https://issues.apache.org/jira/browse/AXIS2C-666 Regards, Senaka Hello I can't find how I could tell Axis2/C in client mode to add a xml declaration to the request. I only want my request to start with : ?xml version=1.0 encoding=UTF-8? Thank you for your help - 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]
Re: Strange REST Parsing
Hi Brian, I think this is a bug somewhere or the other. I tried it and was amazed to get another result. try1: http://localhost:8080/axis2/services/echo/echoString?qid=qid1\hostname=hostname1\bbpl_id=d6ge5gyrgj4 result1: ns1:echoString textd6ge5gyrgj4/text /ns1:echoString try2: http://localhost:8080/axis2/services/echo/echoString?qid=qid1\hostname=hostname1\bepl_id=d6ge5gyrgj4 result2: ns1:echoString textqid1\/text /ns1:echoString try3: http://localhost:8080/axis2/services/echo/echoString?bid=qid1\bastname=hostname1\bipl_id=d6ge5gyrgj4 result3: ns1:echoString textd6ge5gyrgj4/text /ns1:echoString I have no idea on what logic takes place. There is no alphabetic sort or node grouping here. It is something I can't logically explain. But, I will look in to this and raise appropriate JIRAs. Regards, Senaka N.B.: I tried this using Mozilla Firefox. Great - this will be a perfect example I do this one: curl http://localhost:9090/axis2/services/echo/echoString?qid=qid1\hostname=hostname1\repl_id=d6ge5gyrgj4 I get: ns1:echoString xmlns:ns1=http://ws.apache.org/axis2/c/samples;textqid1/text/ns1:echoString It echoed the first parameter. When I change the last parameter to be alphabetically first: curl http://localhost:9090/axis2/services/echo/echoString?qid=qid1\hostname=hostname1\b=d6ge5gyrgj4 Now the last parameter is echoed: ns1:echoString xmlns:ns1=http://ws.apache.org/axis2/c/samples;textd6ge5gyrgj4/text/ns1:echoString Its apparently not a simple an alphabetical sort, but its something odd. Why would the name of the parameter effect the ordering of the nodes as constructed within the server? I think the server is converting the REST input into a sequence of nodes somehow, and it is imposing and order of its own on the nodes. Brian On Jan 16, 2008 12:56 AM, Dinesh Premalal [EMAIL PROTECTED] wrote: Hi Brain, Brian McQueen [EMAIL PROTECTED] writes: soapenv:Envelope xmlns:soapenv=http://www.w3.org/2003/05/soap-envelope; soapenv:Header/ soapenv:Body ns1:replicate xmlns:ns1=http://ws.apache.org/axis2/services/replicate; qidqid1/qid hostnamehostname1/hostname repl_idd6ge5gyrgj4/repl_id /ns1:replicate /soapenv:Body /soapenv:Envelope I modified echo sample to echo back the node it receives. I used following commands curl http://localhost:9090/axis2/services/echo/echoString?qid=qid1\hostname=hostname1\repl_id=d6ge5gyrgj4 I got this as the response echoStringqidqid1/qidhostnamehostname1/hostnamerepl_idd6ge5gyrgj4/repl_id/echoString then I used following command curl http://localhost:9090/axis2/services/echo/echoString?qid=qid1\repl_id=d6ge5gyrgj4\hostname=hostname1 and response is echoStringqidqid1/qidrepl_idd6ge5gyrgj4/repl_idhostnamehostname1/hostname/echoString as far as I can see , there is a no such an alphabetical ordering in REST parsing or did I miss something here? thanks, Dinesh -- http://nethu.org - 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]
Re: [Axis2C] Client with xml declaration
Hi Antonio, This might work. But, I don't believe that writing the XML declaration is necessarily a part of axiom_soap_envelope_serialize(). This is because, logically speaking, the XML declaration is not a part of the SOAP envelope. By doing this tweak, you are violating the concept of a SOAP envelope. And, therefore this is not correct according to my personal belief. Devs, please correct me if I've made any mistake. Regards, Senaka in file /axiom/src/soap/soap_envelope.c I only add the line axiom_output_write_xml_version_encoding(om_output, env); to the function axiom_soap_envelope_serialize() /* write the xml version and encoding These should be set to om output before calling the serialize function Otherwise default values will be written */ -axiom_output_write_xml_version_encoding(om_output, env); It work for me but I don't know if it is rigth. - Original Message From: Sébastien Mougey [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Wednesday, January 16, 2008 5:16:41 AM Subject: Re: [Axis2C] Client with xml declaration Hi Senaka Thank you ! I'll try it today. Yours De : Senaka Fernando [EMAIL PROTECTED] Répondre à : Apache AXIS C User List axis-c-user@ws.apache.org Date : Wed, 16 Jan 2008 06:50:44 -0500 (EST) À : axis-c-user@ws.apache.org Objet : Re: [Axis2C] Client with xml declaration Hi Sébastien, This is now available on the head. Set parameter name=xml-declaration insert=true/ for the respective transport and run your server/client. Please note that you have to obtain an svn checkout from [1]. Regards, Senaka [1] http://svn.apache.org/repos/asf/webservices/axis2/trunk/c Hi AFAIK, There is a JIRA issue raised against this at [1]. The patch is not yet applied. This feature will be available on the head as soon as the patch is applied. Then, You'll merely have to change a setting in axis2.xml. Please take a look at [1], once it is resolved this feature will be available on the head. [1] https://issues.apache.org/jira/browse/AXIS2C-666 Regards, Senaka Hello I can't find how I could tell Axis2/C in client mode to add a xml declaration to the request. I only want my request to start with : ?xml version=1.0 encoding=UTF-8? Thank you for your help Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ - 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] Client with xml declaration
Hi Atanacio, Sorry for spelling your name wrong. Regards, Senaka Hi Antonio, This might work. But, I don't believe that writing the XML declaration is necessarily a part of axiom_soap_envelope_serialize(). This is because, logically speaking, the XML declaration is not a part of the SOAP envelope. By doing this tweak, you are violating the concept of a SOAP envelope. And, therefore this is not correct according to my personal belief. Devs, please correct me if I've made any mistake. Regards, Senaka in file /axiom/src/soap/soap_envelope.c I only add the line axiom_output_write_xml_version_encoding(om_output, env); to the function axiom_soap_envelope_serialize() /* write the xml version and encoding These should be set to om output before calling the serialize function Otherwise default values will be written */ -axiom_output_write_xml_version_encoding(om_output, env); It work for me but I don't know if it is rigth. - Original Message From: Sébastien Mougey [EMAIL PROTECTED] To: Apache AXIS C User List axis-c-user@ws.apache.org Sent: Wednesday, January 16, 2008 5:16:41 AM Subject: Re: [Axis2C] Client with xml declaration Hi Senaka Thank you ! I'll try it today. Yours De : Senaka Fernando [EMAIL PROTECTED] Répondre à : Apache AXIS C User List axis-c-user@ws.apache.org Date : Wed, 16 Jan 2008 06:50:44 -0500 (EST) À : axis-c-user@ws.apache.org Objet : Re: [Axis2C] Client with xml declaration Hi Sébastien, This is now available on the head. Set parameter name=xml-declaration insert=true/ for the respective transport and run your server/client. Please note that you have to obtain an svn checkout from [1]. Regards, Senaka [1] http://svn.apache.org/repos/asf/webservices/axis2/trunk/c Hi AFAIK, There is a JIRA issue raised against this at [1]. The patch is not yet applied. This feature will be available on the head as soon as the patch is applied. Then, You'll merely have to change a setting in axis2.xml. Please take a look at [1], once it is resolved this feature will be available on the head. [1] https://issues.apache.org/jira/browse/AXIS2C-666 Regards, Senaka Hello I can't find how I could tell Axis2/C in client mode to add a xml declaration to the request. I only want my request to start with : ?xml version=1.0 encoding=UTF-8? Thank you for your help Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ - 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] Client with xml declaration
Hi Samisa, Atanacio, I see a valid point here in including the xml declaration in the soap_envelope_serialize() method. However, after querying various developers it was decided that the addition of the xml declaration was the responsibility of the authority who does the soap_envelope_serialize() and therefore has been added at transport sender level. Another reason to why we took this approach is the ability for the user to specify in the axis2.xml whether or whether not the xml declaration has to be sent with the SOAP message. I think it is much cleaner. One more reason was the flexibility we gain in interop scenarios which meets the WS-I specification that the xml declaration is optional, when it comes to sending. Regards, Senaka On Thu, 2008-01-17 at 06:09 +0530, Samisa Abeysinghe wrote: Senaka Fernando wrote: Hi Antonio, This might work. But, I don't believe that writing the XML declaration is necessarily a part of axiom_soap_envelope_serialize(). This is because, logically speaking, the XML declaration is not a part of the SOAP envelope. Logically speaking, a SOAP envelope is an XML document. By doing this tweak, you are violating the concept of a SOAP envelope. And, therefore this is not correct according to my personal belief. Devs, please correct me if I've made any mistake. It is nt possible to include this in OM layer, as we cannot afford to keep state of the start point of serialization. That would restrict our ability to serioalize a given node as we wish when we wish. Hence for me, the solution by Atanacio looks fine. Samisa... Regards, Senaka - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: execute axiom_document_free(om_document, env); // and my hash_table key/val pairs are gone
Hi Josef, I have two suggestion for your plea. 1. You should consider calling axiom_stax_builder_free() instead of axiom_document_free(). As the stax_builder is responsible for the returned document. 2. Consider duplicating the strings before copying to (or from) your hash. You can use axutil_strdup() for this purpose. NOTE: duplicating strings allocate new memory. Please be responsible to free allocated memory to avoid leaks. AFAIK, according to what you describe, this doesn't seem to be a bug. Regards, Senaka Hi Developers, I use Apache Axis2/C version 1.0.0, ported to OopenVMS, also used on Windows 2000 under VS 2005 (C/C++); so far greate stuff. Now I have the follwoing problem and I think it is a bug in Axis2/C I have to deserialize my payload (build om from xml) and return to updated pointers to two hash tables, each keeping a set of fldnam (key) and fldval (val-value) pairs. The xml payload to be converted into an om model looks like this root xmlns:e=element xmlns:ws=workspace xmlns:col=collection col:wscol ws:wsinp e:blah01yuck01/e:blah01 e:blah02yuck02/e:blah02 e:blah03yuck03/e:blah03 e:blah04yuck04/e:blah04 /ws:wsinp ws:wsold e:blah11yuck11/e:blah11 e:blah12yuck12/e:blah12 e:blah13yuck13/e:blah13 e:blah14yuck14/e:blah14 /ws:wsold /col:wscol /root The clue is that I can iterate over the hash tables and find my key/value pairs but only as long as I do not execute axiom_document_free(om_document,env); as done in code below. Once this call is executed, pointers to hash tables are still as before, but content, key and value pairs are gone, do no longer exist, and my routine writes out some rubbish. why? I asume this is a bug OR do I something wrong allocating storage for the hash tables key / value pairs? What has to be released from memeory (deallocated), I guess only the om model as I want it but not the key and values of my hash tables. And BTW, if one knows a faster way to deserialize my payload as I do it, just let me know. I will be very thank-full, because I am still a xml/om newby. Thanks for information and regards axis2_bool_t AXIS2_CALL axawl_deserialize_input_payload(axutil_env_t *env, const axis2_char_t *payload_inp, const axutil_hash_t **pphtwsinp, const axutil_hash_t **pphtwsold) { int retval = 0; unsigned __int16 scnt; char *tval2; long ii; const axis2_char_t *encoding = ENCODING;//#define ENCODING ISO-8859-1 //const axis2_char_t *uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; axiom_xml_reader_t *xml_reader = NULL; axiom_stax_builder_t *om_builder = NULL; axiom_document_t *om_document = NULL; axiom_node_t *root_node = NULL; axiom_node_t *body = NULL; axiom_node_t *root = NULL; axiom_node_t *wscol = NULL; axiom_node_t *ws = NULL; axiom_node_t *wsinp = NULL; axiom_node_t *wsold = NULL; axiom_node_t *wsout = NULL; axiom_node_t *ele = NULL; axiom_children_qname_iterator_t *children_iter = NULL; axis2_char_t *fldnam = NULL; a *fldval = NULL; const void *key = NULL; void *val = NULL; axutil_hash_index_t *hi; axutil_hash_t *htwsinp = NULL; axutil_hash_t *htwsold = NULL; int status = AXIS2_SUCCESS; env-log-level = AXIS2_LOG_LEVEL_DEBUG; AXIS2_LOG_DEBUG(env-log, AXIS2_LOG_SI, %s %d, deserialize input payload, 2); scnt = strlen(payload_inp); /** create the parser here we feed our P1 parameter = the input argument in string form */ xml_reader = axiom_xml_reader_create_for_memory(env, payload_inp, scnt, encoding, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_reader) { printf(%s \n, axutil_error_get_message(env-error)); AXIS2_LOG_ERROR(env-log, AXIS2_LOG_SI, %s, axutil_error_get_message(env-error)); AXIS2_LOG_ERROR(env-log, AXIS2_LOG_SI, %s, unable to create xml_reader); return AXIS2_FAILURE; } om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); printf(%s \n, axutil_error_get_message(env-error)); AXIS2_LOG_ERROR(env-log, AXIS2_LOG_SI, %s, axutil_error_get_message(env-error)); AXIS2_LOG_ERROR(env-log, AXIS2_LOG_SI, %s, unable to create om_builder - ERROR CREATING PULLPARSER); return AXIS2_FAILURE; } /** create an om document document is the container of om model created using builder */ om_document = axiom_stax_builder_get_document(om_builder, env); if (!om_document) { axiom_xml_reader_free(xml_reader, env); printf(%s \n, axutil_error_get_message(env-error));
Re: AW: execute axiom_document_free(om_document, env); // and my hash_table key/val pairs are gone
and then serializing it into the payload string to be returned from my SPg-Legacy.c server to its client through axis2. Thanks and regards Josef.Stadelmann@ axa-winterthur.ch -Ursprüngliche Nachricht- Von: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 15. Januar 2008 15:52 An: Apache AXIS C User List Betreff: Re: execute axiom_document_free(om_document, env); // and my hash_table key/val pairs are gone Senaka Fernando wrote: 2. Consider duplicating the strings before copying to (or from) your hash. You can use axutil_strdup() for this purpose. Yes, this may solve your problems. I skimmed through the code given, and it looks to me you are using the shallow copies returned by the OM element accessor methods and store them in hashes without duplicating them. Thanks, Samisa... - 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]
Re: Fw: Axis2C license questions
Hi all, I have updated the list of dependencies in Axis2/C at [1]. Also, there may be concerns regarding registered trademarks etc. that we have to acknowledge. Devs, please update this list, [1] with information on other dependent software. Regards, Senaka [1] http://wiki.apache.org/ws/FrontPage/Axis2C/Licensing Dinesh Premalal wrote: Hi all, Please find my comments inline. Samisa Abeysinghe [EMAIL PROTECTED] writes: OK, looking at this as well as the other mail sent by Senaka, I think we should get more serious about this and solve it for once and for all. +1 Here is the dependency list that I came up with: 1. OpenSSL 2. libcurl 3. libxml2 iconv 4. zlib 5. Apache httpd 6. Apache Axis2 (for Codegen) 7. pthread Have I missed anything? Or is there anything not relevant? If we consider about Axis2/C related modules, AFAIK Sandesha2/C having dependency on sqlite, Savan2/C having dependency on libxslt, more or less the Axis2/C community involving, developing and using those modules. I think , it is worth to consider and solve possible conflicts that may rise. Here [1], I listed all the dependencies mentioned by Samisa, If you have more please add there and let us know. +1. We should get the related sub projects to participate as well. Thanks, Samisa... thanks, Dinesh 1.http://wiki.apache.org/ws/FrontPage/Axis2C/Licensing - 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: Sending UTF8 through Axis-C
Hi Arseny, The issue is that when you use wcstombs, the converted string must be char* compatible AFAIK. You can instead encode your text into base64 and decode it at your end. This should work as we can encode anything from images to text files. Rampart/C folks use this encoding feature. Rampart/C is the extension to Axis2/C that provides security (Rampart/C is an apache software foundation project). The next option is to send your data as an attachment using MTOM. There is an mtom sample demonstrating how it works. Please note that this attachment need not always be an image. The native Axis2/C implementation does not have wchar_t support and you are encouraged to use one of the methods above. Devs, please correct me if I've made a mistake here. Regards, Senaka Hello! I am trying to send russian text from MS VC program (client) to Java (server) using axis-c and axis-j respectively. The problem is that I do not know how to correctly encode CString with cyrillic symbols into UTF8. When I do it the same way as I do it for english params char* lastNameAnsi = new char[100]; wcstombs(lastNameAnsi, mLastName.GetString(), 100); I get: invalid byte 2 of 2-byte utf-8 sequence axis SAXException And as I see the stubs generated by wsdl2ws have char* (not wchar_t* or smth) for string parameters. What should I do to send unicode using axis-c? Thank you in advance! - 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: Long names and sharable images ... dll's
Hi Dinesh/Josef, Hi Josef, Were you able to get through this problem. I see that you have a problem with name length. SJobject file name of any loadable component including function/procedure names SJ should never be more then 31 characters. I think this is a OpenVMS problem, AFAIK, in standard C implementation there is no such a restriction regarding function names. Did I miss something here? There is something like that in the C Standard I guess, if I'm not mistaken. Refer, http://c0x.coding-guidelines.com/5.2.4.1.html Regards, Senaka - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2/C Memory Leaks
Hi Edward, I've recently being fixing memory leaks in Axis2/C (using libxml2 parser). As far as I know, all the samples that we have do free all the resources before they exit, when the latest fixes would be done in 1.2.0. I haven't tried any generated code by the WSDL2C tool however, to see whether they do the freeing properly. *** If you could take a look at how the echo sample [axis2/c/samples] is implemented in both client and server sides, it should help. *** Please note that there are some still reachable blocks when you valgrind and I'm not sure whether it is a valgrind issue with glibc, or whether it is a dangling pointer, but there are no definite losses or indirect losses at the moment. Somebody correct me if I have made a wrong conclusion. On the other hand, there are still quite a number of leaks when you use the Guththila parser, which we are looking forward to fix. If you believe that the code generated by the codegen tool, lacks the freeing of memory, as in the samples that are provided, please feel free to raise an issue at the JIRA, and propose a patch. N.B. I'm not sure whether all the patches that I proposed are reflected on the current svn. But, I'm pretty sure that they would be, with the Axis2/C 1.2.0 release. Regards, Senaka Hi, I am designing some web service client code using the Axis2/C framework (used WSDL2C to generate client stubs that call the framework). I have a separate executable C file (C file that a main()) that calls the stub. When I ran valgrind initially on it, I saw many memory leaks from this; 49 loss records to be exact. However, after inserting axis2_stub_free and axutil_env_free before my end return statement in my executable C file, I noticed that the loss records decreased greatly to 5. I noticed that this freeing of the stub and env variables is not in the sample client code. Should the sample client code also demonstrate this freeing, and is this freeing logical to do on the client side? Also, I did some initial tests on the server side and noticed many memory leaks as well. Should this client-side freeing be also implemented on my server code, or is the server-side freeing done differently and how if anyone can describe where to insert the freeing statements? Thanks, Edward - 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]