You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Duane Murphy <du...@mac.com> on 2005/10/13 22:45:18 UTC

Max OS X?

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 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. 

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? 

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.

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. 


Re: Max OS X?

Posted by Duane Murphy <du...@mac.com>.
--- At Thu, 13 Oct 2005 21:51:24 +0100, Paul Fremantle wrote:

>Duane
>
>Ok. So this isn't very helpful - because I've got NO experience with Mac
>OS X. But... I just wanted to say great.
>It would be excellent to port it to Mac OS X. Are there any guides on
>general porting from Linux distros to Mac? That might help. 

Paul,
Thanks for the words of encouragement. I've done lots of porting in my
time, so it's just a matter of patience and understanding. With OS X on
Unix (BSD), many things are easier. For example, sockets work just fine
on OS X. The most recent versions of OS X have support for the DL
loading APIs. But I need support back much further, so I will
investigate the older APIs, and xerces already works on Mac OS X and Mac OS 9.

OS 9 is a whole 'nother ball of wax. All the networking will have to be
redone. But that can wait until later. I'm likely the only one left in
the world that would still need this.
:-)

 ...Duane




Re: Max OS X?

Posted by Paul Fremantle <pz...@gmail.com>.
Duane

Ok. So this isn't very helpful - because I've got NO experience with Mac OS
X. But... I just wanted to say great.
It would be excellent to port it to Mac OS X. Are there any guides on
general porting from Linux distros to Mac? That might help.

Paul

On 10/13/05, Duane Murphy <du...@mac.com> 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 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.
>
> 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?
>
> 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.
>
> 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.
>
>

Re: Max OS X?

Posted by John Hawkins <HA...@uk.ibm.com>.
Damitha Kumarage <da...@gmail.com> 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. 
> >
> >
> > 
> >
> 

Re: Max OS X?

Posted by Damitha Kumarage <da...@gmail.com>.
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.
>  
>
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.

>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? 
>
>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. 
>
>
>  
>