| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| I'm trying to build Axis2/C on Win Server 2k3 using MSVC++ 6 (actually I'm building the WSO2 WSF/C++ wrapper for it, but the entirety of the Axis2/C source tree is inside it and that's the part that's failing). I have no choice about the OS for compiler version, unfortunately. I had a problem where the SO_EXCLUSIVEADDRUSE constant wasn't defined in my winsock2.h, probably because of the really old compiler, so I added the line from a newer version of visual studio. That let me get far enough for it to fail on the httpd dependency. I want to use libcurl, not httpd. I don't want to use either an httpd or IIS module -- I'm trying to integrate this into my existing webapp which is already an IIS extension. I'm also not using the binary distributions because I don't want the extra dependencies and because I was getting memory corruption issues with them that I think might be caused by my old compiler trying to link to them. I have several questions: 1) What are the proper target(s) to use in the makefile to get all the stuff I'll need except the apache/IIS modules? I've been doing "nmake install" so far, but I also tried "nmake dist_as_lib". 2) My webapp will be both sending and receiving requests via HTTP (or HTTPS). I assume libcurl will be sufficient for outgoing connections. My intended way of handling incoming connections is to use the HTTP request handling function that has already been developed in my webapp and just hand off the body of the request to Axis2/C. Will this work? Will I need to create my own Transport Receiver to pull this off, and if so, is there any documentation/tutorial you could point me to? 3) As I was signing up for this mailing list, I noticed some discussion about lack of unicode support. Doesn't Axis2/C have to process SOAP messages encoded in UTF8? My webapp exclusively uses UTF8 and it's a must that I can send and receive SOAP messages in UTF8 format. I assume Axis2/C has a dependency on iconv to support this. Can you please verify it's capable of this? 4) Also, I've been hanging out on your IRC channel lately... it's really quiet in there. This mailing list also seems to have fairly low volume. Does that mean Axis2/C isn't under much use or development? Is it suitable for a new app? Thank you very much for your assistance, Ryan -- View this message in context: http://www.nabble.com/building-Axis2...p20387114.html Sent from the Axis - C++ - User mailing list archive at Nabble.com. |
|
#2
| |||
| |||
| I've continued investigating this issue all day. I think I've made some progress. I discovered I was setting my build target in the wrong place. Now I'm using dist_as_lib and it mostly works (gets further, anyways). I also added in libcurl. I downloaded some binaries for windows off the curl site, but it has a libcurl.a file inside it instead of the libcurl_imp.lib file that axis seems to be looking for. What should I do about this? I can't find any download of libcurl that has that file in it, and from a cursory examination it doesn't look like building from source will get it for me. Do I even need curl support? Can axis make outgoing HTTP requests without it? When I disable libcurl, I now run into a different problem. This one seems to be in the sandesha module (which I don't want but can't figure out how to turn off -- I think it's being built by the WSO2 WSF/C++ build script). I get an internal compiler error. My guess is that it's using some kind of advanced templating technique and my ancient compiler can't cope with it. Is it a lost cause trying to use Axis2/C on MSVC++ 6? Thanks again. I'm getting increasingly desperate. I may have to switch to another SOAP library if I can't get this working. Though there's no guarantee another one would work any better... -- View this message in context: http://www.nabble.com/building-Axis2...p20389710.html Sent from the Axis - C++ - User mailing list archive at Nabble.com. |
|
#3
| |||
| |||
| Hi, If you are building the C++ wrapper, did you edit the configure.in file and then ran the build.bat. It should build the libraries for you. Regards Nandika On Sat, Nov 8, 2008 at 3:47 AM, Yanroy <ryan.d.meador-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > I've continued investigating this issue all day. I think I've made some > progress. I discovered I was setting my build target in the wrong place. > Now I'm using dist_as_lib and it mostly works (gets further, anyways). I > also added in libcurl. I downloaded some binaries for windows off the curl > site, but it has a libcurl.a file inside it instead of the libcurl_imp.lib > file that axis seems to be looking for. What should I do about this? I > can't find any download of libcurl that has that file in it, and from a > cursory examination it doesn't look like building from source will get it > for me. Do I even need curl support? Can axis make outgoing HTTP requests > without it? > > When I disable libcurl, I now run into a different problem. This one seems > to be in the sandesha module (which I don't want but can't figure out how > to > turn off -- I think it's being built by the WSO2 WSF/C++ build script). I > get an internal compiler error. My guess is that it's using some kind of > advanced templating technique and my ancient compiler can't cope with it. > Is it a lost cause trying to use Axis2/C on MSVC++ 6? > > Thanks again. I'm getting increasingly desperate. I may have to switch to > another SOAP library if I can't get this working. Though there's no > guarantee another one would work any better... > -- > View this message in context: > http://www.nabble.com/building-Axis2...p20389710.html > Sent from the Axis - C++ - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: axis-c-user-unsubscribe-28n8OjmUYWfN...blic.gmane.org > For additional commands, e-mail: axis-c-user-help-28n8OjmUYWfNLxjTenL...blic.gmane.org > > -- http://nandikajayawardana.blogspot.com/ WSO2 Inc: http://www.wso2.com |
|
#4
| |||
| |||
| I'm not entirely sure what you mean, but I'm pretty sure I did it. I downloaded binary distributions of libxml2, openssl, zlib, etc and set the paths in configure.in to point to them. Running build.bat gives me two different errors, depending on which target I have set up inside it. If I attempt to build "dist", it gives me an error about not having an include file for httpd (which is expected, since I don't want the apache module). If I build "dist_as_lib", I get an error about missing libeay32MT.lib. The openssl package I have contains libeay32.lib and libeay32_a.lib, not that file specified. To get this far, I had to modify one of the build scripts to not build most of the modules because they all fail in varying ways (particularly sandesha). I think it's hopeless for me to try to build from source. This morning I found this blog (http://wsaxc.blogspot.com/) which is the first useful documentation of Axis2/C that I've come across. Why is there so little documentation for it? There's plenty for Java, but all the interesting parts of the Java documentation don't apply to the C implementation because they depend on reflection. This blog mentions that only VS2005 is supported (I'm using 6.0, unfortunately), so I gave up on building from source and I'm now back to trying to figure out why I can't use the binary distribution. The blog post gave me a small clue about how the C version works when it mentioned that services are loaded from DLLs based on the services.xml file. This makes sense, but it's not what I want. It probably explains this error I get from the example server included in the binary distribution (which I was trying to get working because I thought it might shed light on why I get memory corruption when I try to run the "echo" sample client app): [Mon Nov 10 11:04:31 2008] [error] ...\..\src\core\deployment\dep_engine.c(750) dep_engine repos listener creation failed, folder name is ../ [Mon Nov 10 11:04:31 2008] [error] ..\..\src\core\deployment\conf_init.c(67) dep engine load failed. conf value is NULL [Mon Nov 10 11:04:31 2008] [error] ...\..\src\core\transport\http\server\simple_axis2 _server\http_server_main.c(214) Server creation failed: Error code: 34 :: Repository listener initialization failed So I guess this "repository" (there doesn't appear to be any documentation explaining this term; I've had to infer from the error message, snippets on blogs and mailing lists, and the source, which is poorly commented) is the place the service DLL files are loaded from. I don't know where it's looking... AFAICT, the ../ directory it specifies is WSFCPP_HOME, and there's certainly no services there. There are some in the "services" subdirectory of that folder, but I don't know what to do with them. All I'm trying to do is add SOAP support to an existing application. I want to handle the HTTP request myself, then hand the XML contained therein to Axis for processing. I don't want Axis to open any ports nor do any socket stuff. I don't want Axis to load any services DLLs. I want my app to be the service. Can this be done using Axis? I think I may have had a completely wrong idea of what Axis does -- it seems more like Tomcat than a SOAP library. I don't want some kind of service container, I want a SOAP API. Is this possible? Is there documentation? Thanks. nandika jayawardana-2 wrote: > > Hi, > If you are building the C++ wrapper, did you edit the configure.in file > and > then ran the build.bat. It should build the libraries for you. > > Regards > Nandika > > -- View this message in context: http://www.nabble.com/building-Axis2...p20424400.html Sent from the Axis - C++ - User mailing list archive at Nabble.com. |
|
#5
| |||
| |||
| Thank you very much for your swift reply. I had already seen the documentation listed at that first link you provided. It doesn't seem to have much in the way of API docs. The only such docs I can find are the doxygen-generated ones, which don't have a high-level overview. Also, as I mentioned, I think my use case is a bit strange since it's never even mentioned anywhere. That distribution that you linked to is what I'm trying to build. I followed all the build instructions that came with it and it fails due to dependency problems, as I mentioned in my previous email. In my attempt to get rid of the Apache httpd dependency (I don't want to build anything httpd related), I edited the build scripts to not build any of modules like rampart, sandesha, neethi, etc. I also had to change the build target from dist to dist_as_lib to get rid of it trying to build the httpd module itself. I know that won't produce any of the samples, but I was hoping to get some DLLs that I could use in my own test application (because the binary distribution ones give me memory corruption errors). I may have been confusing -- there are several different problems I'm having. I keep switching my way of attacking Axis because I keep hitting dead ends. A short list of my problems: 1) can I even use Axis2/C the way I intend? See my last email for a detailed description, but the short version is "can I integrate it directly into my application without having any server modules, service DLLs or any other external communcations or interfaces?" 2) I can't run the example standalone server from the binary distribution because of the error in my previous email. 3) I can't run a small test application (based on the echo sample client) that I built against the binary distribution libraries because it gives me memory corruption errors (it free()'s some pointer twice, I think). 4) I can't build from source because of dependency problems. I was trying to build from source because I thought having my own bins might fix problems 2 and 3. If I can get the binary distribution working, then I will not need to build from source. I've been posting on this ML because AFAICT, all my problems are in the Axis2/C part of the build script. I think it's failing before it even gets to the C++ specific parts that WSO2 added. I looking into posting on their ML, but they've had 2 posts in the past year according to the archive I looked at, so I didn't think I'd find much help there. Thank you very much for your help so far, Ryan nandika jayawardana-2 wrote: > > You can find documentation on Axis2/C here. > *http://ws.apache.org/axis2/c/docs/index.html* > > In addition to that there are number of articles published here as well. > http://wso2.org/taxonomy/term/254 > > Ok back to your problem. > > I assume your problem comes with building this distribution > http://wso2.org/downloads/wsf/cpp > > We usually used vc2005. However, you can actually build the code with vc6 > as > well. You might want to make a minor modifications to the makefiles for > that.You do not need to specify a build target to the build.bat if you > have > downloaded WSF/CPP distribution.Edit the configure.in file located in the > outermost directory and just run the build.bat. dist_as_lib is used only > for > building library dlls. It will not build the services or clients and will > not be of use to you. If you are directly using the makefile located in > build\win32 directory , Always use dist target as it builds the usable > binary distribution with all headers copied to proper locations. > > Hope this helps. Since you are interested in cpp, you can get more help > by > posting to wsf-cpp-user-zuXfA1pKn4XhvxM+mQhndA@public.gmane.org > > Regards > Nandika > > -- View this message in context: http://www.nabble.com/building-Axis2...p20426494.html Sent from the Axis - C++ - User mailing list archive at Nabble.com. |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.