Damitha Kumarage <[EMAIL PROTECTED]> wrote on 14/10/2005 03:36:18:

> Duane Murphy wrote:
>
> >Hello Axis Folks,
> >I'm attempting to use axis on Mac OS X in a client side application.
> >I've searched the mailing list archives and find attempts here and there
> >attempting to support OS X, but nothing definitive. Mac OS X is
> >noticeably missing from the source distribution.
> >
> >Suggestions from your experience would be most helpful.
> >
> >Here is where I am and where I am going; again advise is most welcome.
> >
> >Goals: The ultimate goal is to build a SOAP client from WSDL sources
> >running on Mac OS X and Mac OS 9. There is not a single target server,
> >but rather a family of targets. Therefore some flexibility in the client
> >will be necessary.
> >
> >Development Environment: I am using Metrowerks CodeWarrior. Eventually I
> >will take the system to Xcode. CodeWarrior will still be needed in order
> >to support Mac OS 9.
> >
> >Progress
> >
> >I have abandoned attempts to get Ant functional for building Axis. It's
> >just too much trouble and I am not familiar enough with Ant to make
> >reasonable progress.


I can imagine that ANT would be your easiest route. However, looking at the compiler support in antcpp tasks it doesn't look hopeful ! (you might  have to write your own ant task which isn't "where you're at" by the sound of it :-)
supported compilers ant-cpp-tasks  1.3
gcc (default) GCC C++ compiler g++ GCC C++ compiler c++ GCC C++ compiler g77 GNU FORTRAN compiler msvc Microsoft Visual C++ bcc Borland C++ Compiler msrc Microsoft Resource Compiler brc Borland Resource Compiler df Compaq Visual Fortran Compiler midl Microsoft MIDL Compiler icl Intel C++ compiler for Windows (IA-32) ecl Intel C++ compiler for Windows (IA-64) icc Intel C++ compiler for Linux (IA-32) ecc Intel C++ compiler for Linux (IA-64) CC Sun ONE C++ compiler aCC HP aC++ C++ Compiler os390 OS390 C Compiler os400 Icc Compiler sunc89 Sun C89 C Compiler xlC VisualAge C Compiler

If you did want to use ANT:
 You would need to start looking at the buildInitialize.xml file where the compilers are setup and then ensure that MACOS is detected in initialize and then used when we actually compile stuff. We can help you with that if you change your mind ! (But the biggest issue would be how to use the right compiler as it's not listed above)

> >  
> >
> There was a Makefile system for Axis C++. But it is not maintained now.
> But with few
> work it can be updated I suppose.
>
> >I selected the Calculator client sample as a starting point. I have
> >Calculator compiling but not yet linking do to the dynamic library
> >loading requirement.
> >
> >My first question is, is there a way to NOT use DLL/Shared Libraries for
> >the various entry points? As a porting exercise this complicates things
> >immensely.
> >  
> >
> You can build your client using static libraries generated at various
> entry points. I need to check
> whether both (shared /static) are generated with ant build.


I think both the ant and old systems have the concept of dynamic dll loading due to the flexible nature of the libraries we wanted to have. but, this is just a compile time flag right :-) OK, so it's not that easy - we also have a factory that would have to be altered to not load them in dynamically. (Not sure what the issue with static linking is on MAC but is it that painful?). Of course, on the server-side dynamic is what we use all the time so you can deploy services, on-the-fly !

>
> >In the mean time, I will work on using the Macintosh native dynamic
> >loading mechanism.
> >
> >It seems there are three DLLs to load: SOAPTransport, XMLParser,
> and Handler.
> >
> >Do I need the Handler?


Handler is not required - this is only if you are writing handlers.
You can just compile the SOAPTransport (HTTPTransport.dll is what this gets converted into) and XMLParser. You need the channel library too. The concept is that we create channel which is more generic and then the transport uses a channel - adding such things as headers (http headers in this case) that are required for the transport to work. I.E. So, in http case - the channel is a socket connection and the http transport streams out its headers over the socket just prior to sending the raw data.

I'm not convinced this is a very good model however - that's what we've got today !

> >
> >I have also seen references to a Channel Library? It appears to be
> >related to the transport. I'd like to get a better explanation of the
> >Channel and if I need to build DLLs for that as well.
> >  
> >
> Channel is made to a different library to allow different channels to be
> loaded into the transport.
> For example you can use https channel or http channel with the same
> transport.
>
> >Thank you for your help.
> >
> > ...Duane Murphy
> >
> >ps.
> >If this works out well enough, I hope to feed some of this back to the axis.
> >
> >
> >  
> >
>

Reply via email to