Re: Loading mod_axis2.so module into Apache
Hi Alex, Nice description of the problem. Couldn't think of a better way to do it. This is what you need to do. You have the axis2/c distribution in /home/alex/axis2c-dist right? You should have the lib, modules and services directories under that directory. Also you need to have the axis2.xml file in that directory. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Please remove all your LoadFile directives from your Apache configuration. Make sure your Axis2/C configuration in httpd.conf is correct. The required entries are: LoadModule axis2_module MOD_AXIS2_SO_PATH Axis2RepoPath AXIS2C_INSTALL_DIR Axis2LogFile PATH_TO_LOG_FILE Axis2LogLevel LOG_LEVEL Location /axis2 SetHandler axis2_module /Location Also make sure that Apache has read access to the /home/alex/axis2c-dist directory. Start Apache and everything should work fine. Supun.. On Thu, Jul 17, 2008 at 8:09 AM, Rajika Kumarasiri [EMAIL PROTECTED] wrote: On Thu, Jul 17, 2008 at 2:25 AM, Alex Bolgarov [EMAIL PROTECTED] wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? 1. Unzip the binary to a location, 2. Copy the mod_axis2.so to the Apache module directory. 3. Set the LoadModule and the Axis2RepoPath in httpd.conf Restart the Apache server. -Rajika And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine. Regards Lahiru On Thu, Jul 17, 2008 at 12:03 AM, Alex Bolgarov [EMAIL PROTECTED] wrote: Hi, How do you load a mod_axis2.so module into the Apache when you copy the Axis2/C libraries to some directory - for example, when you are using the binary Axis2/C distribution, or just build Axis2/C from source on one machine (and installed itto some directory) and then copy Axis2/C module and libraries to some directory on some othar machine with Apache server? Well, here is a longer description of the problem: Say I'm using a source distribution. I download the .tar.gz source tarball, untar, configure it with some install directory (--prefix) and build/install it, now I have this install directory with the build by me Axis2/C. I have Apache server running in this machine, so I copy mod_axis2.so into the Apache installation, I update the Apache config to load the module, I define the Axis2/C repository, I develop a web service and run tests against it. All is fine up to this point. Now I want to use the Axis2/C with the Apache server that is running on another machine. I copy everything from the install directory from the build machine into some directory on this other machine with Apache (let's call this directory /home/alex/axis2c-dist). I rename libmod_axis2.so.0.4.0 to mod_axis2.so and copy it into the Apache's modules directory. Now I change the Apache config file so that it contains the line LoadModule axis2_module modules/mod_axis2.so I try to start Apache: $ apachectl start and see following error: Cannot load /home/alex/httpd/modules/mod_axis2.so into server: libaxis2_engine.so.0: cannot open shared object file: No such file or directory Now, I happen to know about the LoadFile Apache directive :) I add the LoadFile directive for the libaxis2_engine.so
Re: Loading mod_axis2.so module into Apache
1. Compile Axis2/C on a machine with identical settings to that of the server machine. 2. Install that on server machine, following the guidelines given in binary install That should work. Samisa... Alex Bolgarov wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine. Regards Lahiru On Thu, Jul 17, 2008 at 12:03 AM, Alex Bolgarov [EMAIL PROTECTED] wrote: Hi, How do you load a mod_axis2.so module into the Apache when you copy the Axis2/C libraries to some directory - for example, when you are using the binary Axis2/C distribution, or just build Axis2/C from source on one machine (and installed itto some directory) and then copy Axis2/C module and libraries to some directory on some othar machine with Apache server? Well, here is a longer description of the problem: Say I'm using a source distribution. I download the .tar.gz source tarball, untar, configure it with some install directory (--prefix) and build/install it, now I have this install directory with the build by me Axis2/C. I have Apache server running in this machine, so I copy mod_axis2.so into the Apache installation, I update the Apache config to load the module, I define the Axis2/C repository, I develop a web service and run tests against it. All is fine up to this point. Now I want to use the Axis2/C with the Apache server that is running on another machine. I copy everything from the install directory from the build machine into some directory on this other machine with Apache (let's call this directory /home/alex/axis2c-dist). I rename libmod_axis2.so.0.4.0 to mod_axis2.so and copy it into the Apache's modules directory. Now I change the Apache config file so that it contains the line LoadModule axis2_module modules/mod_axis2.so I try to start Apache: $ apachectl start and see following error: Cannot load /home/alex/httpd/modules/mod_axis2.so into server: libaxis2_engine.so.0: cannot open shared object file: No such file or directory Now, I happen to know about the LoadFile Apache directive :) I add the LoadFile directive for the libaxis2_engine.so so that Apache loads it from the /home/alex/axis2c-dist directory, now the Apache config looks like this: LoadFile /home/alex/axis2c-dist/lib/libaxis2_engine.so.0.4.0 LoadModule axis2_module modules/mod_axis2.so I try to start Apache again: $ apachectl start and now see: Cannot load /home/alex/axis2c-dist/lib/libaxis2_engine.so.0.4.0 into server: libneethi.so.0: cannot open shared object file: No such file or directory OK, I add LoadFile directives for the libneethi.so, and so on, when I finally arrive to the following config: LoadFile /home/alex/axis2c-dist/lib/libaxutil.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libguththila.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libaxis2_parser.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libaxis2_axiom.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libneethi.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libaxis2_http_common.so.0.4.0 LoadFile /home/alex/axis2c-dist/lib/libaxis2_engine.so.0.4.0 LoadModule axis2_module modules/mod_axis2.so But now, after I try to start Apache, I see new error: Cannot load
Re: Loading mod_axis2.so module into Apache
Supun, Arn't these steps on the manual? Samisa... Supun Kamburugamuva wrote: Hi Alex, Nice description of the problem. Couldn't think of a better way to do it. This is what you need to do. You have the axis2/c distribution in /home/alex/axis2c-dist right? You should have the lib, modules and services directories under that directory. Also you need to have the axis2.xml file in that directory. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Please remove all your LoadFile directives from your Apache configuration. Make sure your Axis2/C configuration in httpd.conf is correct. The required entries are: LoadModule axis2_module MOD_AXIS2_SO_PATH Axis2RepoPath AXIS2C_INSTALL_DIR Axis2LogFile PATH_TO_LOG_FILE Axis2LogLevel LOG_LEVEL Location /axis2 SetHandler axis2_module /Location Also make sure that Apache has read access to the /home/alex/axis2c-dist directory. Start Apache and everything should work fine. Supun.. On Thu, Jul 17, 2008 at 8:09 AM, Rajika Kumarasiri [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: On Thu, Jul 17, 2008 at 2:25 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? 1. Unzip the binary to a location, 2. Copy the mod_axis2.so to the Apache module directory. 3. Set the LoadModule and the Axis2RepoPath in httpd.conf Restart the Apache server. -Rajika And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine. Regards Lahiru On Thu, Jul 17, 2008 at 12:03 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi, How do you load a mod_axis2.so module into the Apache when you copy the Axis2/C libraries to some directory - for example, when you are using the binary Axis2/C distribution, or just build Axis2/C from source on one machine (and installed itto some directory) and then copy Axis2/C module and libraries to some directory on some othar machine with Apache server? Well, here is a longer description of the problem: Say I'm using a source distribution. I download the .tar.gz source tarball, untar, configure it with some install directory (--prefix) and build/install it, now I have this install directory with the build by me Axis2/C. I have Apache server running in this machine, so I copy mod_axis2.so into the Apache installation, I update the Apache config to load the module, I define the Axis2/C repository, I develop a web service and run tests against it. All is fine up to this
Re: Redirecting Web Services
Axis2/C client cannot handle redirection. Samisa... Brian S Bates (bribates) wrote: Hi, I am working on a project using REST with Axis2C, and have encountered a problem. I would like to take the URI of the REST request and redirect it somewhere else. For example, if the user enters: http://server:port/loc1/service?param1=value1, I want this to be directed to http://server:port/newlocation/service?param1=value1 Currently, I am using the mod_axis2.dll module with Apache 2.2.9. In my Apache httpd.conf file, I have added the following lines (at the end): # Redirect requests to the axis2 directory RewriteEngine on RewriteRule ^/dp(.*) /axis2/restprinter$1 [R=permanent] # Axis2 C Configuration LoadModule axis2_module modules/mod_axis2.dll Axis2RepoPath C:/axis2c Axis2LogFile logs/axis2.log Axis2LogLevel error Axis2ServiceURLPrefix /axis2 Axis2MaxLogFileSize 100 Location / SetHandler axis2_module /Location ...Basically, rerouting anything with a URI that begins with /dp to /axis2/restprinter (the first two lines). Using this configuration in a web browser works. That is to say, the redirection happens and a valid XML response is returned from my service. However, using an Axis2C client fails. Looking over the log file for the client, it seems that the redirection is not happening? Here is an excerpt: [Tue Jul 15 16:05:10 2008] [info] Starting addressing out handler [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\modules\mod_addr\addr_out_handler.c(133) No action present. Stop processing addressing [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\transport\http\sender\http_transport_sender.c(246) ctx_epr:http://localhost:80/dp/go [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\transport\http\sender\http_transport_sender.c(768) using axis2 native http sender. [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\transport\http\sender\http_transport_sender.c(785) OP name axutil_qname_get_localpart = http://www.w3.org/2004/08/wsdl/out-in [Tue Jul 15 16:05:10 2008] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(951) Space required after the Public Identifier -- SEVERITY_ERROR [Tue Jul 15 16:05:10 2008] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(951) SystemLiteral or ' expected -- SEVERITY_ERROR [Tue Jul 15 16:05:10 2008] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(951) SYSTEM or PUBLIC, the URI is missing -- SEVERITY_ERROR [Tue Jul 15 16:05:10 2008] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(462) error occured in reading xml stream [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler AddressingInHandler within the phase Transport [Tue Jul 15 16:05:10 2008] [info] Starting addressing in handler [Tue Jul 15 16:05:10 2008] [info] ..\..\src\modules\mod_addr\addr_in_handler.c [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\rest_disp.c(113) Checking for service using target endpoint address : http://localhost:80/dp/go [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch [Tue Jul 15 16:05:10 2008] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler context_handler within the phase PostDispatch [Tue Jul 15 16:05:10 2008] [error] restprinter.c(92) Stub invoke FAILED: Error code: 2 :: NULL parameter was passed when a non NULL parameter was expected To make a long story short, is it possible for the Axis2C client to handle such a redirect? Also, if it makes a difference, I am testing both the client and server on the same machine. Thanks, Brian No virus found in this incoming message. Checked by AVG - http://www.avg.com Version: 8.0.138 / Virus Database: 270.5.0/1555 - Release Date: 7/16/2008 6:43 AM -- Samisa Abeysinghe Director, Engineering; WSO2 Inc. http://www.wso2.com/ - The Open Source SOA Company - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Loading mod_axis2.so module into Apache
Hi Samisa, I think some of the instructions like setting the LD_LIBRARY_PATH is missing. Also I think we should add a faq saying what are the things that can go wrong when we deploy in Apache and possible solutions to that. Supun.. On Thu, Jul 17, 2008 at 11:57 AM, Samisa Abeysinghe [EMAIL PROTECTED] wrote: Supun, Arn't these steps on the manual? Samisa... Supun Kamburugamuva wrote: Hi Alex, Nice description of the problem. Couldn't think of a better way to do it. This is what you need to do. You have the axis2/c distribution in /home/alex/axis2c-dist right? You should have the lib, modules and services directories under that directory. Also you need to have the axis2.xml file in that directory. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Please remove all your LoadFile directives from your Apache configuration. Make sure your Axis2/C configuration in httpd.conf is correct. The required entries are: LoadModule axis2_module MOD_AXIS2_SO_PATH Axis2RepoPath AXIS2C_INSTALL_DIR Axis2LogFile PATH_TO_LOG_FILE Axis2LogLevel LOG_LEVEL Location /axis2 SetHandler axis2_module /Location Also make sure that Apache has read access to the /home/alex/axis2c-dist directory. Start Apache and everything should work fine. Supun.. On Thu, Jul 17, 2008 at 8:09 AM, Rajika Kumarasiri [EMAIL PROTECTED]mailto: [EMAIL PROTECTED] wrote: On Thu, Jul 17, 2008 at 2:25 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? 1. Unzip the binary to a location, 2. Copy the mod_axis2.so to the Apache module directory. 3. Set the LoadModule and the Axis2RepoPath in httpd.conf Restart the Apache server. -Rajika And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine. Regards Lahiru On Thu, Jul 17, 2008 at 12:03 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi, How do you load a mod_axis2.so module into the Apache when you copy the Axis2/C libraries to some directory - for example, when you are using the binary Axis2/C distribution, or just build Axis2/C from source on one machine (and installed itto some directory) and then copy Axis2/C module and libraries to some directory on some othar machine with Apache server? Well, here is a longer description of the problem: Say I'm using a source distribution. I download the .tar.gz source tarball, untar, configure it with some install directory (--prefix) and build/install it, now I have this install directory with the build by me Axis2/C.
Re: Loading mod_axis2.so module into Apache
Around here we put the LD_LIBRARY_PATH in the envvars file in the apache httpd bin directory. That way it is loaded by the apachectl script - and is more or less immune to the environment getting messed with (usually by someone messing with shell configuration files). This is rather well documented in the apache httpd documentation as well. It works quite nicely. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Opinion: Thank you to all of you who contribute to this project, it is simply wonderfull. I am glad to finally break the chain of java servlet engines using so much Sorry, I'll stop there. [Axis2C] is an amazing product and I hope that it carries on for many years. -John. First post to list. On Thursday 17 July 2008 00:58, Supun Kamburugamuva wrote: Hi Samisa, I think some of the instructions like setting the LD_LIBRARY_PATH is missing. Also I think we should add a faq saying what are the things that can go wrong when we deploy in Apache and possible solutions to that. Supun.. On Thu, Jul 17, 2008 at 11:57 AM, Samisa Abeysinghe [EMAIL PROTECTED] wrote: Supun, Arn't these steps on the manual? Samisa... Supun Kamburugamuva wrote: Hi Alex, Nice description of the problem. Couldn't think of a better way to do it. This is what you need to do. You have the axis2/c distribution in /home/alex/axis2c-dist right? You should have the lib, modules and services directories under that directory. Also you need to have the axis2.xml file in that directory. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Please remove all your LoadFile directives from your Apache configuration. Make sure your Axis2/C configuration in httpd.conf is correct. The required entries are: LoadModule axis2_module MOD_AXIS2_SO_PATH Axis2RepoPath AXIS2C_INSTALL_DIR Axis2LogFile PATH_TO_LOG_FILE Axis2LogLevel LOG_LEVEL Location /axis2 SetHandler axis2_module /Location Also make sure that Apache has read access to the /home/alex/axis2c-dist directory. Start Apache and everything should work fine. Supun.. On Thu, Jul 17, 2008 at 8:09 AM, Rajika Kumarasiri [EMAIL PROTECTED]mailto: [EMAIL PROTECTED] wrote: On Thu, Jul 17, 2008 at 2:25 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? 1. Unzip the binary to a location, 2. Copy the mod_axis2.so to the Apache module directory. 3. Set the LoadModule and the Axis2RepoPath in httpd.conf Restart the Apache server. -Rajika And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine. Regards Lahiru
Re: Loading mod_axis2.so module into Apache
Hi, Thank you to all who replied. We managed to make it work either by setting LD_LIBRARY_PATH value to the lib directory in the axis repository before starting Apache or by adding path to the lib directory of the repository into the /etc/ld.so.conf file and running ldconfig. Using envvars file also probably would work. Thank you, alex. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Cannot retrieve http headers in 1.4
Thanks Supun, I appreciate it. I will give it a go. From: Supun Kamburugamuva [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 16, 2008 6:14 AM To: Apache AXIS C User List Subject: Re: Cannot retrieve http headers in 1.4 Hi Hatim, First sorry for the late reply. The way that you try to acquire the headers is not supported now. Instead there is a direct method in message context that give the list of headers. Your code up to getting the message context is correct. Then you need to call the method list = axis2_msg_ctx_get_http_output_headers(msg_ctx, env); This will give the list of http headers. (axutil_array_list_t containing pointers to axis2_http_header_t structures) Regards, Supun.. On Fri, Jul 11, 2008 at 1:38 AM, Hatim Daginawala [EMAIL PROTECTED] wrote: Hi All, I am using following calls to retrieve HTTP headers from the response and axis2_msg_ctx_get_property returns NULL This works in AXIS2/C 1.3 but not in AXIS2/C 1.4, has anything changed? Any help will be appreciated. Thank you. op_client = axis2_svc_client_get_op_client(svc_client, env); msg_ctx = (axis2_msg_ctx_t *) axis2_op_client_get_msg_ctx (op_client, env, AXIS2_WSDL_MESSAGE_LABEL_OUT); client_property = (axutil_property_t *)axis2_msg_ctx_get_property( msg_ctx, env, AXIS2_HTTP_CLIENT); client = (axis2_http_client_t *)axutil_property_get_value ( client_property, env); response = axis2_http_client_get_response (client, env); list = axis2_http_simple_response_get_headers (response, env); --- Confidentiality Notice: This electronic mail transmission is confidential, may be privileged and should be read or retained only by the intended recipient. If you have received this transmission in error, please immediately notify the sender and delete it from your system. --- Confidentiality Notice: This electronic mail transmission is confidential, may be privileged and should be read or retained only by the intended recipient. If you have received this transmission in error, please immediately notify the sender and delete it from your system.
RE : RE : RE : RE : WSDL2C deserialisation problem
Hi Dimuthu, I did try adding those lines to the deserialize function but had the same result. As part of the debugging process I downloaded the nightly snapshot dated 2008/07/07. It is possible there has been a fix since then. I'm not convinced this is a real bug, but I still can't explain what mistake I made to get this behaviour. If no one else is having this problem then it must be me :) Anyway it works with this patch. The WSDL on the server stays the same and my local WSDL used to generate the stubs can have this modification. Thanks for your suggestions. Carl -Message d'origine- De : Dimuthu Gamage [mailto:[EMAIL PROTECTED] Envoyé : jeudi, juillet 17, 2008 10:46 À : Apache AXIS C User List Objet : Re: RE : RE : RE : WSDL2C deserialisation problem Hi Carl, Again I tried without any elements in the parent type, i.e. only with an attribute as in your case. But it was generating correct code and give the correct result at running. May be some modification in the latest svn may have correct the problem. (i believe some correction done after axis2/java 1.4 release). So from your note I saw it works when current_node = first_node; is_early_node_valid = AXIS2_FALSE; is at the start. I think you can just add these lines in the deserialize funciton without changing the wsdl. (you may able to debug the logic removing the code that handle your fake element from the deserialize logic. Thanks Dimuthu On Wed, Jul 16, 2008 at 8:43 PM, Lefrancois, Carl [EMAIL PROTECTED] wrote: Hi Dimuthu, More information on this interesting problem... I decided to start by modifying the definition of my schema to try and get around the current_node initialisation problem. I changed the definition of the base type to this: xs:complexType name=ActivityType xs:sequence xs:element name=deser_test type=xs:int minOccurs=0/ /xs:sequence xs:attribute ref=addDataTypes:ObjectIdentifier use=optional/ /xs:complexType I ignore the deser_test element and my source document never contains it, but the new generated code for deserialisation contains this: /* * building deser_test element */ current_node = first_node; is_early_node_valid = AXIS2_FALSE; And now my ActivityNumber element is correctly deserialised. Is there anything more I can do to help debug this behaviour? -Carl -Message d'origine- De : Lefrancois, Carl Envoyé : mardi, juillet 8, 2008 11:23 À : Apache AXIS C User List Objet : RE : RE : WSDL2C deserialisation problem Hi Dimuthu, the parent type is xs:complexType name=ActivityType xs:attribute ref=addDataTypes:ObjectIdentifier use=optional/ /xs:complexType Please let me know if there is anything else I can send you to help figure this out. I already tried setting current_node = first_node; as described in my last response. I will try with the is_early_node_valid = AXIS2_FALSE; and see if it helps. Carl -Message d'origine- De : Dimuthu Gamage [mailto:[EMAIL PROTECTED] Envoyé : lundi, juillet 7, 2008 21:17 À : Apache AXIS C User List Objet : Re: RE : WSDL2C deserialisation problem Hi Carl, I have a test case with the following schema and it works fine xs:complexType name=DiagonalMatrix xs:complexContent xs:extension base=ax21:Matrix xs:sequence xs:element name=somejunk minOccurs=0 type=xs:int/ xs:element name=diagonal nillable=true type=ax21:MatrixRow/ xs:element name=anotherjunk minOccurs=0 type=xs:int/ /xs:sequence xs:attribute name=diagonalSum type=xs:int/ /xs:extension /xs:complexContent /xs:complexType xs:complexType name=Matrix xs:sequence xs:element minOccurs=0 maxOccurs=unbounded name=rows nillable=true type=ax21:MatrixRow/ !-- i removed maxOcccurs=unbounded part and checked, it woring too -- /xs:sequence xs:attribute name=rowCount type=xs:int/ /xs:complexType xs:complexType name=MatrixRow xs:sequence xs:element maxOccurs=unbounded minOccurs=0 name=columns nillable=true type=xs:int/ /xs:sequence xs:attribute name=columnCount type=xs:int/ /xs:complexType I think this is exactly simmilar to your schema (it has elements and an attribute), may be the parent type is the different. Just check whether there is special different in 'ActivityType' in your schema with the Matrix type here. It s better if you can send
Re: Loading mod_axis2.so module into Apache
Supun Kamburugamuva wrote: Hi Samisa, I think some of the instructions like setting the LD_LIBRARY_PATH is missing. Then we need to fix it. Please raise a Jira on this. Samisa... Also I think we should add a faq saying what are the things that can go wrong when we deploy in Apache and possible solutions to that. Supun.. On Thu, Jul 17, 2008 at 11:57 AM, Samisa Abeysinghe [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Supun, Arn't these steps on the manual? Samisa... Supun Kamburugamuva wrote: Hi Alex, Nice description of the problem. Couldn't think of a better way to do it. This is what you need to do. You have the axis2/c distribution in /home/alex/axis2c-dist right? You should have the lib, modules and services directories under that directory. Also you need to have the axis2.xml file in that directory. Please add the lib directory to your LD_LIBRARY_PATH or do an equivalent of this (ldconfig). Please remove all your LoadFile directives from your Apache configuration. Make sure your Axis2/C configuration in httpd.conf is correct. The required entries are: LoadModule axis2_module MOD_AXIS2_SO_PATH Axis2RepoPath AXIS2C_INSTALL_DIR Axis2LogFile PATH_TO_LOG_FILE Axis2LogLevel LOG_LEVEL Location /axis2 SetHandler axis2_module /Location Also make sure that Apache has read access to the /home/alex/axis2c-dist directory. Start Apache and everything should work fine. Supun.. On Thu, Jul 17, 2008 at 8:09 AM, Rajika Kumarasiri [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: On Thu, Jul 17, 2008 at 2:25 AM, Alex Bolgarov [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Well, our server machine is not supposed to have development tools at all. So I can't compile the Axis2/C on it. Then, how it is supposed to work if I use the Axis2C binary distribution? 1. Unzip the binary to a location, 2. Copy the mod_axis2.so to the Apache module directory. 3. Set the LoadModule and the Axis2RepoPath in httpd.conf Restart the Apache server. -Rajika And it should have nothing to do with environment variables settings (other then possible LD_LIBRARY_PATH) because Apache can't load the module at all, because the ldopen() can't find the shared libraries that this module refers to, and I can't load those shared libraries manually using LoadFile directive because of the circular reference problem as I described. So at the moment of failure no Axis2/C code has executed yet that could have a chance to fix something (like, to find and load libraries from the location pointed by the AXIS2C_HOME or by any parameter in the Apache config file. Or am I wrong here? What I don't understand is why (and how) it works if I run the Apache server on the machine where I compile the Axis2C. Does the linker, when it builds the libmod_axis2.so, embeds into this library the pathes to the other Axis2/C libraries so, when I copy the mod_axis2.so into the Apache modules directory on the same machine, it finds them using those embedded pathes? Thank you, alex. On Wed, Jul 16, 2008 at 3:28 PM, lahiru gunathilake [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Alex, I think you have to set AXIS2C_HOME environment variable on your server machine. And why are you copying libraries from one machine to another why don't you compile Axis2C on you server machine.AFAIK if your first machine and the second machine are different,different in the sense first machine is dual core and the server machine is core 2 duo or something else you have to recompile Axis2C on your server machine and create libmod_axis2.so otherwise previously compiled library won't work on the server machine.
AXIS2C: Unexpected close-tag created
Hi, I am seeing a close tag being created when (I believe) there shouldn't be. The incorrect output is as follows... cwmp:getParameterValues xmlns:cwmp=urn:dslforum-org:cwmp-1-0 ParameterNames *Name/*TempAgent./Name /ParameterNames /cwmp:getParameterValues The code to create the problematic line in the above XML as follows:- axiom_node_t *nameNode = axiom_node_create(env); axutil_string_t* nameString = axutil_string_create (env, Name); axiom_element_create_str(env, parameterNamesNode, nameString, CWMP_EMPTY_PREFIX_NAMESPACE, nameNode); axiom_node_t *tempNode = axiom_node_create(env); axiom_text_create(env, nameNode, tempChar, tempNode); Is this a bug or am I just doing something wrong. Many thanks. Andy
Re: AXIS2C: Unexpected close-tag created
Looks like I'm not doing the right clean-up in the code which is subsequently causing a problem. Please ignore this post/problem. On Thu, Jul 17, 2008 at 2:52 PM, Andy Karseras [EMAIL PROTECTED] wrote: Hi, I am seeing a close tag being created when (I believe) there shouldn't be. The incorrect output is as follows... cwmp:getParameterValues xmlns:cwmp=urn:dslforum-org:cwmp-1-0 ParameterNames *Name/*TempAgent./Name /ParameterNames /cwmp:getParameterValues The code to create the problematic line in the above XML as follows:- axiom_node_t *nameNode = axiom_node_create(env); axutil_string_t* nameString = axutil_string_create (env, Name); axiom_element_create_str(env, parameterNamesNode, nameString, CWMP_EMPTY_PREFIX_NAMESPACE, nameNode); axiom_node_t *tempNode = axiom_node_create(env); axiom_text_create(env, nameNode, tempChar, tempNode); Is this a bug or am I just doing something wrong. Many thanks. Andy
PHP client Support for Axis2c
Dear All, From PHP script I want to invoke the axis2c client functionality (PHP scripts placed in Apache http server), which in turn invokes the Axis2c webservice. Is this support available in axis2c? Please suggest us on how to go about this? Thanks in Advance.. Regards, Shobha
Re: PHP client Support for Axis2c
Hi Shobha, Since Axis2/C is implemented based on Web services standards and Specifications, in theory it should be able to interop with every other implementations that follow these standard. So There is no problem interacting axis2/c with php, .net, java web services. In fact there is php extension developed based on axis2/c libraries which support all the specification supported in axis2/c like WS-Security, WS-RM, MTOM.. You can try it from http://wso2.org/projects/wsf/php Thanks Dimuthu On Fri, Jul 18, 2008 at 10:01 AM, Shobha AC [EMAIL PROTECTED] wrote: Dear All, From PHP script I want to invoke the axis2c client functionality (PHP scripts placed in Apache http server), which in turn invokes the Axis2c webservice. Is this support available in axis2c? Please suggest us on how to go about this? Thanks in Advance.. Regards, Shobha
Re: PHP client Support for Axis2c
On Fri, 2008-07-18 at 10:01 +0530, Shobha AC wrote: Dear All, From PHP script I want to invoke the axis2c client functionality (PHP scripts placed in Apache http server), which in turn invokes the Axis2c webservice. Is this support available in axis2c? You can deploy C/C++ service in Axis2/C and invoke. In order to invoke this service from a PHP script you can use a Web Services Framework like WSO2 WSF/PHP [1] [1] http://wso2.org/projects/wsf/php -Manjula. Please suggest us on how to go about this? Thanks in Advance.. Regards, Shobha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: PHP client Support for Axis2c
Thank you all.. I will look into this URL.. Regards, Shobha _ From: Dimuthu Gamage [mailto:[EMAIL PROTECTED] Sent: Friday, July 18, 2008 10:13 AM To: Apache AXIS C User List Subject: Re: PHP client Support for Axis2c Hi Shobha, Since Axis2/C is implemented based on Web services standards and Specifications, in theory it should be able to interop with every other implementations that follow these standard. So There is no problem interacting axis2/c with php, .net, java web services. In fact there is php extension developed based on axis2/c libraries which support all the specification supported in axis2/c like WS-Security, WS-RM, MTOM.. You can try it from http://wso2.org/projects/wsf/php Thanks Dimuthu On Fri, Jul 18, 2008 at 10:01 AM, Shobha AC [EMAIL PROTECTED] wrote: Dear All, From PHP script I want to invoke the axis2c client functionality (PHP scripts placed in Apache http server), which in turn invokes the Axis2c webservice. Is this support available in axis2c? Please suggest us on how to go about this? Thanks in Advance.. Regards, Shobha
ADB Server XmlBeans at Client
Hi, Can I use ADB at server side and Xmlbeans in client side? Wsdl2java tools support this in axis2? Regards, Shehan
Re: ADB Server XmlBeans at Client
On Wed, Jul 16, 2008 at 10:59 PM, Shehan Simen [EMAIL PROTECTED] wrote: Hi, Can I use ADB at server side and Xmlbeans in client side? definitely. This is the whole idea about the web services. Even the server can be .Net as well. thanks, Amila. Wsdl2java tools support this in axis2? Regards, Shehan -- Amila Suriarachchi, WSO2 Inc.
Re: [AXIS2] v1.4 missing binding and endpoint from wsdl2java generated wsdl
This looks like a bug to me. Can you plase file a JIRA on this. We are hoping to release a 1.4.1 version (Probably end this month). I'll try to fix this issue Thanks, Keith. On Wed, Jul 16, 2008 at 9:33 PM, searl [EMAIL PROTECTED] wrote: Hi, I have a service that causes axis2 v1.4 to produce the following message when axis2 is trying to deploy the service: 2008-07-15 17:09:53,178 [main] INFO org.apache.axis2.deployment.repository.util.ArchiveReader - Trouble processing wsdl file :No endpoints found in the WSDL This service is created using the wsdl2java utility. The wsdl output by wsdl2java does not have a 'binding' section and it does not have an endpoint in the 'service' section. NOTE that I'm using wsdl v2.0. Is the omitted 'binding' and 'endpoint' portions of the wsdl2java produced wsdl normal behavior? I've attached the original wsdl2 for the service: ACE_UDDIMAintain.orig.wsdl2 The wsdl produced by wsdl2java: ACE_UDDIMaintain.wsdl and the services.xml produced by wsdl2java: services.xml. The following the portion of the ant build file I use to run wsdl2java: java classname=org.apache.axis2.wsdl.WSDL2Java fork=true failonerror=true classpath fileset dir=${ACESOA_LIBDIR} includes=*.jar/ fileset dir=${AXIS2LIBDIR} includes=*.jar/ /classpath arg line=-o ${CURRDIR}/${SRCTEMPDIR} / arg line=-uri ${CURRDIR}/resources/${ ant.project.name}.wsdl2 / arg line=-d adb / arg line=-s / arg line=-ss / arg line=-ssi / arg line=-sd / arg line=-g / arg line=-wv 2.0 / /java -- Leon S. Searl, Software Research Engineer Information and Telecommunication Technology Center, University of Kansas Nichols Hall, 2335 Irving Hill Road, Lawrence, KS 66045-7612 Ph: 785-864-7820 Fax: 785-864-0387 http://www.ittc.ku.edu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
[AXIS2] how to use enum types
Dear Listmembers, i'am using axis2 1.4 release version togehter with eclipse version 3.4.0 (WST). I have created a webservice from a skeleton class called JobWS. Generating the associated wsdl definition and an appropriate client stub worked like a charm (using eclipse axis2 plugin). So far so good, as far as i read, axis2 should support Java5 enum types since the 1.4 release, am i right? But unfortunately this doesn't work for me. In detail: My JobWS webservice is working with a Job class which defines among other attributes some enum types. For example: private DecisionYesNo computerSkills; My example enum class looks like this: public enum DecisionYesNo implements Serializable{ YES, NO } The wsdl file generated by java2wsdl (or http://localhost/[CONTEXT]/services/JobWS?wsdl option) looks like this: (extract) xs:complexType name=DecisionYesNo xs:complexContent xs:extension base=xs:Enum xs:sequence/ /xs:extension /xs:complexContent /xs:complexType Which seems to be wrong because all enum values are missing. From what i know about enum representation in xml schema it should look like this: xs:simpleType name=DecisionYesNo xs:restriction base=xs:string xs:enumeration value=YES/ xs:enumeration value=NO/ /xs:restriction /xs:simpleType But even when i modify the generated wsdl file to reflect the xml structure above, the wsdl2java won't generate a proper client stub. So my question is, has someone expierences in using axis2 in combination with java5 enum types and can give me a hint? best regards Andreas - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Enabling MTOM crashes Axis2.1.4
Hello, I'm getting an internal server error when trying to enable MTOM in Axis2.1.4. Here is what I did : - I installed Axis2.1.4 into Tomcat 5.5.26 (with JDK 1.5.0.15, on Windows) (I dropped the .war in tomcat's webapps folder - in webapps/axis2/WEB-INF/conf/axis2.xml , I changed the parameter enableMTOM to true (SwA is still disabled) - I restarted Tomcat Then : - Axis2 homepage displays correctly ; also List services and services WSDL dynamic generation are still working. - BUT when trying to execute any operation of any service from the browser (e.g http://localhost:8080/axis2/services/Version/getVersion) , I get an Internal server error, and Tomcat logs the following error for the servlet AxisServlet : java.lang.NoClassDefFoundError javax/activation/DataSource (see stack trace copied below). Same stack trace when executing the operation from an Axis2 client. I tried to move activation-1.1.jar from webapps/axis2/WEB-INF/lib to several other lib/ locations (jdk, jre, tomcat...), no success. No success either, when adding this jar to my CLASSPATH variable. Has someone any idea ? Thanks, Pierre Muller java.lang.NoClassDefFoundError: javax/activation/DataSource at org.apache.axiom.om.impl.MIMEOutputUtils.complete(MIMEOutputUtils.java:141) at org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:159) at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:472) at org.apache.axis2.transport.http.ApplicationXMLFormatter.writeTo(ApplicationXMLFormatter.java:143) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:330) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:213) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:136) at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130) at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:824) at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:253) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) ** Si vous n'êtes pas le destinataire désigné de ce message ou une personne autorisée à l'utiliser, toute distribution, copie, publication ou usage à quelques fins que ce soit des informations dans ce message sont interdits. Merci d'informer immédiatement l'expéditeur par messagerie, et, de détruire ce message. This e-mail is confidential. If you are not the addressee or an authorized recipient of this message, any distribution, copying, publication or use of this information for any purpose is prohibited. Please notify the sender immediately by e-mail and then delete this message. ** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2] message transmission optimization
Hi, In Axis2, MTOM enables a more efficient transmission for binary content. Is Axis2 more optimized for sending even a ASCII text content than Axis1 ? Thanks, -Madhav
Getting x509 certificate info
Hello All, I have my axis2 application running in tomcat 6.0. The endpoint is secured bij SSL/TLS with client authentication by use of tomcat server.xml en axis2 web.xml. I want to get x509 certificate info through an axis2 inflow handler. Is this possible and how would i go about this? Thanks in advance. Kind regards, Erwin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Yahoo's Web Service Search REST (via POST and non-XML data block)
You can set the OMElement into service Client and change its contentType as follows, opts.setProperty(Constants.Configuration.MESSAGE_TYPE,HTTPConstants.MEDIA_TYPE_MULTIPART_FORM_DATA) This will send the data out as application/form-data which is what yahoo expects. Thanks, Keith. On Thu, Jul 17, 2008 at 12:24 AM, jaybytez [EMAIL PROTECTED] wrote: I am testing out REST with Axis2 and I believe I have a good handle on using with GET Method Type. The problem I am having (in interacting with freely available REST services) is that services like what are provided by Yahoo do not create an XML Structure for POST REST services like the Axis2 example shows. Instead Yahoo suggests just putting the parameters into the POST body, but the sendAndReceive methods of the ServiceClient only take an OMElement. Does this mean that I cannot use the ServiceClient (and it appears RPCServiceClient did not work for me either), unless my POST builds an XML Body? Here is the Yahoo doc: http://developer.yahoo.com/search/rest.html#POSTthat explains building POST based REST requests. Again, I can use the GET functionality...I just want to make sure I understand when I would use POST and how that could be done through Axis2. Thanks - jay. -- View this message in context: http://www.nabble.com/Yahoo%27s-Web-Service-Search-REST-%28via-POST-and-non-XML-data-block%29-tp18494234p18494234.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Keith Chapman Senior Software Engineer WSO2 Inc. Oxygenating the Web Service Platform. http://wso2.org/ blog: http://www.keith-chapman.org
Serializing null string[]?
I am using Axis2 to soap-enable an existing class and running into an interesting problem (at least for me) If I have the following function: public String createUser(String SessionID, String userName, String[] additionalFeatures, String password) And from my client code, I set additionalFeatures to null, then invoke the web service, the value of ³password² is pushed to additionalFeatures and nothing is passed to password. How do I properly write my server (or client) so that I can (when needed) pass null values without experiencing this ³variable shift²? The client is java, written in Java 1.4. The client implementation was done using wscomple ( JAX-RPC Standard Implementation (1.1.3, build R1)) and the server is axis2 running under Tomcat 6. Any advice would be greatly appreciated. Thanks! This electronic message contains information from Primus Telecommunications Canada Inc. (PRIMUS) , which may be legally privileged and confidential. The information is intended to be for the use of the individual(s) or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you have received this electronic message in error, please notify us by telephone or e-mail (to the number or address above) immediately. Any views, opinions or advice expressed in this electronic message are not necessarily the views, opinions or advice of PRIMUS. It is the responsibility of the recipient to ensure that any attachments are virus free and PRIMUS bears no responsibility for any loss or damage arising in any way from the use thereof.The term PRIMUS includes its affiliates. Pour la version en français de ce message, veuillez voir http://www.primustel.ca/fr/legal/cs.htm
Re: Getting x509 certificate info
Hi, the whole http servlet request is available through the message context Object requestProperty = msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); if (requestProperty != null requestProperty instanceof HttpServletRequest) { HttpServletRequest request = (HttpServletRequest)requestProperty; Object certificateChainAtt = request.getAttribute(javax.servlet.request.X509Certificate); if (certificateChainAtt != null certificateChainAtt instanceof X509Certificate[]) { X509Certificate[] certificateChain = (X509Certificate[])certificateChainAtt } } You may wanna verify whether it is expected to have the client certificate in case you have a security policy with transport binding and RequireClientCertificate set... Regards, Stefan On Thu, Jul 17, 2008 at 4:28 PM, Erwin Reinhoud [EMAIL PROTECTED] wrote: Hello All, I have my axis2 application running in tomcat 6.0. The endpoint is secured bij SSL/TLS with client authentication by use of tomcat server.xml en axis2 web.xml. I want to get x509 certificate info through an axis2 inflow handler. Is this possible and how would i go about this? Thanks in advance. Kind regards, Erwin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
org.apache.axis2.AxisFault: The input stream for an incoming message is null.
Environment jdk1.6.0_06 Apache Tomcat 6.0.16 Axis2-1.4 Windows Server 2003 SE SP1 Eclipse SDK 3.3.2 Problem Using the Axis plugin in Eclipse I've generated client code (CIBG...PortStub.java) to call an external web service. Run a JUnit test from Eclipse (CIBG...PortTest.java) works fine. I've written an internal webservice (OpvragenVerifieren.java) that after performing an XSLT calls the mentioned external webservice. When I deploy the code to Tomcat the mentioned error message is logged (see stdout_20080717.log) when my internal webservice tries to call the external webservice. Could someone help me? http://www.nabble.com/file/p18510774/stdout_20080717.log stdout_20080717.log http://www.nabble.com/file/p18510774/CIBG_SBV_Interface_XIS_InterfaceXIS_XISInterface_PortStub.java CIBG_SBV_Interface_XIS_InterfaceXIS_XISInterface_PortStub.java http://www.nabble.com/file/p18510774/CIBG_SBV_Interface_XIS_InterfaceXIS_XISInterface_PortTest.java CIBG_SBV_Interface_XIS_InterfaceXIS_XISInterface_PortTest.java http://www.nabble.com/file/p18510774/OpvragenVerifieren.java OpvragenVerifieren.java -- View this message in context: http://www.nabble.com/org.apache.axis2.AxisFault%3A-The-input-stream-for-an-incoming-message-is-null.-tp18510774p18510774.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] message transmission optimization
Hi, what do you mean by ASCII text content? Ascii encoded text file? If so, in axis2 you have two options - either send it as base64 in the message (where each base64 character obviously represents 6 bits) or send as a separate mime part (that would be the mtom) as binary. The latter one will be obviously more efficient in terms of message size since even with ascii-7 each char is 7 bits. If compared to axis1 I'd guess it would be nearly the same as a soap attachment - the only benefit you get is that it is more convenient to work with the mtom than the swa... Regards, Stefan On Thu, Jul 17, 2008 at 4:26 PM, Madhav [EMAIL PROTECTED] wrote: Hi, In Axis2, MTOM enables a more efficient transmission for binary content. Is Axis2 more optimized for sending even a ASCII text content than Axis1 ? Thanks, -Madhav
Re: [Axis2] message transmission optimization
Madhav wrote: Hi, In Axis2, MTOM enables a more efficient transmission for binary content. Is Axis2 more optimized for sending even a ASCII text content than Axis1 ? Yes. Samisa... Thanks, -Madhav -- Samisa Abeysinghe http://people.apache.org/~samisa/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] message transmission optimization
Hi Stefan, Yes, I meant the same thing - ASCII characters (like String literals) ultimately encoded as base64. Samisa, Did you mean the same thing which Stefan has mentioned or something else? Thanks, Madhav On Thu, Jul 17, 2008 at 9:00 PM, Chefo [EMAIL PROTECTED] wrote: Hi, what do you mean by ASCII text content? Ascii encoded text file? If so, in axis2 you have two options - either send it as base64 in the message (where each base64 character obviously represents 6 bits) or send as a separate mime part (that would be the mtom) as binary. The latter one will be obviously more efficient in terms of message size since even with ascii-7 each char is 7 bits. If compared to axis1 I'd guess it would be nearly the same as a soap attachment - the only benefit you get is that it is more convenient to work with the mtom than the swa... Regards, Stefan On Thu, Jul 17, 2008 at 4:26 PM, Madhav [EMAIL PROTECTED] wrote: Hi, In Axis2, MTOM enables a more efficient transmission for binary content. Is Axis2 more optimized for sending even a ASCII text content than Axis1 ? Thanks, -Madhav -- -Madhav
Re: [Axis2] message transmission optimization
Madhav wrote: Hi Stefan, Yes, I meant the same thing - ASCII characters (like String literals) ultimately encoded as base64. Samisa, Did you mean the same thing which Stefan has mentioned or something else? The same. Samisa... Thanks, Madhav On Thu, Jul 17, 2008 at 9:00 PM, Chefo [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi, what do you mean by ASCII text content? Ascii encoded text file? If so, in axis2 you have two options - either send it as base64 in the message (where each base64 character obviously represents 6 bits) or send as a separate mime part (that would be the mtom) as binary. The latter one will be obviously more efficient in terms of message size since even with ascii-7 each char is 7 bits. If compared to axis1 I'd guess it would be nearly the same as a soap attachment - the only benefit you get is that it is more convenient to work with the mtom than the swa... Regards, Stefan On Thu, Jul 17, 2008 at 4:26 PM, Madhav [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi, In Axis2, MTOM enables a more efficient transmission for binary content. Is Axis2 more optimized for sending even a ASCII text content than Axis1 ? Thanks, -Madhav -- -Madhav -- Samisa Abeysinghe http://people.apache.org/~samisa/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Enabling MTOM crashes Axis2.1.4
Did you try downloading Axis2 again and doing a clean installation... I know this a typical IT support response ;-) .. But there is a chance that your jar might be corrupt.. thanks, Thilina On Thu, Jul 17, 2008 at 6:05 AM, Pierre Muller [EMAIL PROTECTED] wrote: Hello, I'm getting an internal server error when trying to enable MTOM in Axis2.1.4. Here is what I did : - I installed Axis2.1.4 into Tomcat 5.5.26 (with JDK 1.5.0.15, on Windows) (I dropped the .war in tomcat's webapps folder - in webapps/axis2/WEB-INF/conf/axis2.xml , I changed the parameter enableMTOM to true (SwA is still disabled) - I restarted Tomcat Then : - Axis2 homepage displays correctly ; also List services and services WSDL dynamic generation are still working. - BUT when trying to execute any operation of any service from the browser (e.g http://localhost:8080/axis2/services/Version/getVersion) , I get an Internal server error, and Tomcat logs the following error for the servlet AxisServlet : java.lang.NoClassDefFoundError javax/activation/DataSource (see stack trace copied below). Same stack trace when executing the operation from an Axis2 client. I tried to move activation-1.1.jar from webapps/axis2/WEB-INF/lib to several other lib/ locations (jdk, jre, tomcat...), no success. No success either, when adding this jar to my CLASSPATH variable. Has someone any idea ? Thanks, Pierre Muller java.lang.NoClassDefFoundError: javax/activation/DataSource at org.apache.axiom.om.impl.MIMEOutputUtils.complete(MIMEOutputUtils.java:141) at org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:159) at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:472) at org.apache.axis2.transport.http.ApplicationXMLFormatter.writeTo(ApplicationXMLFormatter.java:143) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:330) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:213) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:136) at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130) at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:824) at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:253) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) ** Si vous n'êtes pas le destinataire désigné de ce message ou une personne autorisée à l'utiliser, toute distribution, copie, publication ou usage à quelques fins que ce soit des informations dans ce message sont interdits. Merci d'informer immédiatement l'expéditeur par messagerie, et, de détruire ce message. This e-mail is confidential. If you are not the addressee or an authorized recipient of this message, any distribution, copying, publication or use of this information for any purpose is prohibited. Please notify the sender immediately by e-mail and then delete this message. ** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thilina Gunarathne -
Configuring Rampart for Inbound messages
Hi, I am using Axis2 in our project, currently we have some custom made soap signature verification/validation utility in place. I want to use Rampart to handle inbound soap messages. Since we have many clients, I want to configure rampart dynamically. I want to tell rampart which keystore and setting to use depending on the incoming message. My question is Is there any way that I can configure rampart dynamically to handle incoming messages? Thanks, Raghu -- View this message in context: http://www.nabble.com/Configuring-Rampart-for-Inbound-messages-tp18515135p18515135.html Sent from the Axis - User mailing list archive at Nabble.com.
Axis2 work files not deleted
In my Tomcat work directory (work\Catalina\localhost\axis2) I'm getting multiple copies of each of the Axis2 archives (jar, aar, mar): axis211221antlr-2.7.6.jar axis217411antlr-2.7.6.jar etc A new set gets generated each time I restart Tomcat. On my Windows XP system, these are deleted each time Tomcat stops, but not on our Linux (CentOS) systems. These are running on pretty small virtual machines and we run out of disk space pretty easily. Sorry for reposting this question - I first posed it about two months ago - but as we get closer to putting services into production this is becoming more of a concern and I have not made any progress in finding the problem. Any ideas on what's going on here - and how to prevent it? If anyone with a similar environment would care to check their work area and see if the same thing is happening (you may have sufficient disk space for it to not be critical) I would really appreciate it. It will help determine whether this is caused by Axis2, Tomcat, server config, etc. Thanks! - Steve __ Steve Gruverman, Programmer IntelliCare, Inc. | A Medco Health Solutions Company 500 Southborough Drive | South Portland ME 04106 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 work files not deleted
I don't understand why did you reply to my message. I think you need to write new post. SGruverman wrote: In my Tomcat work directory (work\Catalina\localhost\axis2) I'm getting multiple copies of each of the Axis2 archives (jar, aar, mar): axis211221antlr-2.7.6.jar axis217411antlr-2.7.6.jar etc A new set gets generated each time I restart Tomcat. On my Windows XP system, these are deleted each time Tomcat stops, but not on our Linux (CentOS) systems. These are running on pretty small virtual machines and we run out of disk space pretty easily. Sorry for reposting this question - I first posed it about two months ago - but as we get closer to putting services into production this is becoming more of a concern and I have not made any progress in finding the problem. Any ideas on what's going on here - and how to prevent it? If anyone with a similar environment would care to check their work area and see if the same thing is happening (you may have sufficient disk space for it to not be critical) I would really appreciate it. It will help determine whether this is caused by Axis2, Tomcat, server config, etc. Thanks! - Steve __ Steve Gruverman, Programmer IntelliCare, Inc. | A Medco Health Solutions Company 500 Southborough Drive | South Portland ME 04106 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Configuring-Rampart-for-Inbound-messages-tp18515135p18518770.html Sent from the Axis - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 work files not deleted
Steve, I think you need to switch to completely get rid of aar and mar packages and switch to using just the directory. Let me explain. 1) axis2/WEB-INF/lib - drop all the jars currently in your aar or mar here 2) axis2/WEB-INF/classes - drop all the .class files in your aar here 3) axis2/WEB-INF/services - create one directory for each aar that you used to have 4) axis2/WEB-INF/modules - create one directory for each mar that you used to have 5) For each service, create a META-INF/services.xml under the service specific directory. For example axis2/WEB-INF/services/myService/META-INF/services.xml 6) For each module, create a META-INF/module.xml under the module specific directory. For example axis2/WEB-INF/modules/myModule/META-INF/module.xml Once you do this, there is no need for axis2 to unpack the aar(s)/mar(s) and it won't clutter up the Catalina work directory. thanks, dims [EMAIL PROTECTED] wrote: In my Tomcat work directory (work\Catalina\localhost\axis2) I'm getting multiple copies of each of the Axis2 archives (jar, aar, mar): axis211221antlr-2.7.6.jar axis217411antlr-2.7.6.jar etc A new set gets generated each time I restart Tomcat. On my Windows XP system, these are deleted each time Tomcat stops, but not on our Linux (CentOS) systems. These are running on pretty small virtual machines and we run out of disk space pretty easily. Sorry for reposting this question - I first posed it about two months ago - but as we get closer to putting services into production this is becoming more of a concern and I have not made any progress in finding the problem. Any ideas on what's going on here - and how to prevent it? If anyone with a similar environment would care to check their work area and see if the same thing is happening (you may have sufficient disk space for it to not be critical) I would really appreciate it. It will help determine whether this is caused by Axis2, Tomcat, server config, etc. Thanks! - Steve __ Steve Gruverman, Programmer IntelliCare, Inc. | A Medco Health Solutions Company 500 Southborough Drive | South Portland ME 04106 - 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]
multiple wsdl files generated with the wsdl2java tool ?
hi everybody, When I use the wsdl2java tool from the axis2 distribution from my wsdl file containing some services, it generates a wsdl file for each service I have... Is that possible to generate a unique wsdl file instead of 1 for each service ? Because.. in fact, these wsdl files differ just fom the service part : the original wsdl : service name=service1 . /service service name=service2 . /service service name=service3 . /service and so 1 have 3 wsdl files, with names : service 1,2,3 , but with all the ports and operations used by the other services. I could understand that axis2 would generate 1 wsdl file for 1 service, with only the operations, messages and ports/bindings used.. but here my 3 wsdl files contain every messages and ports used by all the services... so I don't understand the goal of having multiple wsdl... does someone have an explication, or a way to generate only 1 wsdl... or generate multiple wsdl, but with only operations/messages used by the service ? thanks for your future answers !