axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From damitha kumarage <dami...@opensource.lk>
Subject Re: Axis2Transport does not build on windows
Date Fri, 03 Dec 2004 10:03:13 GMT
Hi Samisa,John, Fred,

On Wed, 2004-12-01 at 13:28, Samisa Abeysinghe wrote:
> Hi Damitha,
>  
> > I think SSLChannel.hpp is for that. I have given just one
> implementation for
> > that. Others could give an different impl. If this interface is not
> flexible
> > enough suggestions are accepted
> 
> I have a differnt view. I think SecureChannle.hpp is for that. And SSL
> stuff should be in ssl folder. And SSLChannel should inherit from the
> secure channel. That would give us a more clearner hierarchy.

I too agree SecureChannel.hpp is for that. So I have changes to keep the
SecureChannel.hpp as the base class. I completely removed SSLChannel
class. Fred has already put required methods in SecureChannel.hpp
ie. readSecureSocket, writeSecureSocket etc.

So I have my library implemenation in ssl folder. I have
OpesSSLChannel.hpp derived from SecureChannel.hpp. Earlier it is
deriving from SSLChannel.hpp.

>  
> The fact that we need to have SSLChannelFactory in the Axis2Transport
> project does not sound correct to me. That should be in a seperate
> project - say SSLTransport project. (Please have a look at how the
> coplilation problem was solved for windows)

Here I have a suggestion. 
In Axis2Transport class on setEndpointUri method  we have
       m_pChannel = (Channel *) new SecureChannel ();

This where SecureChannel class is instantiated depending on the url
is https or http.
I suggest to have this code instead of the above.(I have implemented
this in my new version)

       m_pChannel = m_pFactory->getSecureChannelObject();

m_pFactory is an instance of ChannelFactory. Note that I have changed
the name SecureChannelFactory to ChannelFactory. We can have another
method in SecureChannelFactory called 
getChannelObject() which return a norman Channel object. So we can have
a normal channel pluggable as well(Like different business need
their own secure channel implemenations they might also need their own
normal channel implemenation)
So instead of
m_pChannel = new Channel ();
we hae
m_pChannel = m_pFactory->getChannelObject();

What do you think?

thanks
damitha
>  
> Thanks,
> Samisa...
> 
> Damitha Kumarage <damitha@opensource.lk> wrote:
>         Hi John,
>         On Tue, 30 Nov 2004 13:02:05 +0000, John Hawkins wrote
>         > +1 loose coupling for compile time pls.
>         I don't think that there is such comile time tight coupling.
>         Once the existing
>         window problem solved this should be ok
>         
>         > 
>         > IBM has its own implementation of ssl so we don't want to
>         confuse 
>         > the two
>         > (I can imagine some other software shops might also want to
>         use 
>         > their own impl.)
>         I think SSLChannel.hpp is for that. I have given just one
>         implementation for
>         that. Others could give an different impl. If this interface
>         is not flexible
>         enough suggestions are accepted
>         
>         thanks
>         damitha
>         > 
>         > John Hawkins
>         > 
>         > Samisa Abeysinghe 
>         > > e@yahoo.com> 
>         > To Apache AXIS 
>         > C Developers List 30/11/2004 12:44 > c-dev@ws.apache.org> 
>         > cc
>         > 
>         > Please respond to 
>         > Subject "Apache AXIS C Re: Axis2Transport 
>         > does not build Developers List" on windows
>         > 
>         > Hi Damitha,
>         > Can we move all the SSL specific stuff into ssl sub folder?
>         > I got the feeling that there is some level of tight coupling
>         > here with the non-SSL stuff. (It is annoying that I cannot
>         compile a 
>         > module because of something that I am not going to use)
>         > 
>         > Re PlatformAutoSense.hpp: This can be a reason, as I
>         mentioned 
>         > in an early mail. If so, does any one know how to override
>         an 
>         > already included file so that we could override winsock.h
>         with 
>         > winsock2.h (or does it sound silly :( ? ) In other words, is
>         there 
>         > any way to enfoce the Win platform header to include
>         winsock2.h all 
>         > the time?
>         > 
>         > Thanks,
>         > Samisa...
>         > 
>         > Damitha Kumarage wrote:
>         > Hi Samisa,
>         > The only different with the older ones is that now it does
>         not 
>         > contain ssl speicfic header files. Using a SSLChannelFactory
>         it 
>         > dyanmically load the ssl channel library and call its
>         methods. The 
>         > problem causing could be from including
>         PlatformAutoSense.hpp in
>         SSLChannelFactory.hpp
>         > 
>         > damitha
>         > 
>         > On Tue, 30 Nov 2004 03:49:54 -0800 (PST), Samisa Abeysinghe
>         wrote
>         > > > Was the vc project for Axis2Transport changed to include
>         the new
>         > files? If
>         > > > not what are the files that need to be included in this
>         project?
>         > >
>         > > I have no idea on this. I think the files have not been
>         added.
>         > >
>         > > Just to let you know:
>         > > To help find a solution, I copied older versions of
>         > > SecureChannel.cpp and SecureChannel.h into the folder and
>         built 
>         > the > project and the build was successful. > > I am n! ot
>         sure why 
>         > the latest SecureChannel.cpp and SecureChannel.h > are
>         causing problems.
>         > >
>         > > Samisa...
>         > >
>         > > sanjaya singharage wrote:
>         > > Was the vc project for Axis2Transport changed to include
>         the new
>         > > files? If not what are the files that need to be included
>         in this
>         > project?
>         > >
>         > > sanjaya.
>         > > ----- Original Message -----
>         > > From: "Samisa Abeysinghe"
>         > > To: "Apache AXIS C Developers List"
>         > > Sent: Tuesday, November 30, 2004 5:32 PM
>         > > Subject: Re: Axis2Transport does not build on windows
>         > >
>         > > > Yes; AxisSocketUtils is not used anywhere.
>         > > >
>         > > > Looking at the email list, if I say changes to
>         SecureChannel has
>         > started
>         > > causing problems, am I
>         > > > correct? If so I could revert back and try.
>         > > >
>         > > > Thanks,
>         > > > Samisa...
>         > > >
>         > > > --- sanjaya singharage wrote:
>         > > >
>         > > > > win! sock.h is included in xisSocketUtils.cpp, but
>         this 
>         > doesn't seem to be > > > used anywhere. > > > > >
> sanjaya.
>         > > > > 
>         > > > ----- Original Message ----- > > > From: "Samisa
>         Abeysinghe" > > 
>         > > To: "Apache AXIS C Developers List" > > > Sent: Tuesday,
>         November 
>         > 30, 2004 5:02 PM > > > Subject: Re: Axis2Transport does not
>         build on 
>         > windows > > > > > > > > > > None of the source
files include
>         > winsock.h but winsock2.h. > > > > However, windows.h
>         included in > > 
>         > > src/platforms/windows/PlatformSpecificWindows.hpp seems to
>         make 
>         > the > > > > compiler run into confusion. > > > >
I still
>         could not 
>         > find a solution. > > > > > > > > Waht are we doing
wrong
>         here? I 
>         > think before using platform headers it > > > worked. I am
>         not sure 
>         > if > > > > thi! s problem came to life with platform
>         headers. > > > 
>         > > > > > > Samisa... > > > > > > > >
--- sanjaya singharage
>         wrote: > 
>         > > > > > > > > > --------------------Configuration:
>         Axis2Transport - Win32
>         > > > > Debug--------------------
>         > > > > > > Compiling...
>         > > > > > > SecureChannel.cpp
>         > > > > > >
>         > > > >
>         > >
>         > > d:\san\works\checkouts\head5\ws-
>         > > axis\c\include\axis\axisexception.hpp(164) :
>         > > > > warning C4275: non
>         > > > > > > dll-interface class 'exception' used as base for
>         dll-interface
>         > class
>         > > > > 'axiscpp::AxisException'
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\exception(50) : see declaration of
>         > > > > > > 'exception'
>         > > > > > >
>         > > > >
>         > >
>         > >
>         > 
>         >
>         d:\san\works\checkouts\head5\ws-axis\c\src\transport\axis2\axistransportexce
>         > 
>         > > > > ption.h(51) :
>         > > > > > > warning C4251: 'm_sMessage' : class
>         'std::basic_string> >
>         > std::char_traits,class
>         > > > > > > std::allocator >' needs to have dll-interface
to
>         be used
>         > > > > > > by clients of class 'AxisTransportException'
>         > > > > > > c:\program files\microsoft visual
>         > studio\vc98\include\winsock2.h(99)
>         > > :
>         > > > > error C2011: 'fd_set' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(134) :
>         > > > > warning C4005: 'FD_SET'
>         > > > > > > : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(83) : see previous
>         > > > > > > definition of 'FD_SET'
>         > > > >! > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(143) :
>         > > > > error C2011: 'timeval' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(199) :
>         > > > > error C2011: 'hostent' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(212) :
>         > > > > error C2011: 'netent' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(219) :
>         > > > > error C2011: 'servent' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(226) :
>         > > > > error C2011: 'protoent'
>         > > > > > > : 'struct'! type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(310) :
>         > > > > error C2011: 'in_addr' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(368) :
>         > > > > error C2011:
>         > > > > > > 'sockaddr_in' : 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(378) :
>         > > > > error C2011: 'WSAData' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(430) :
>         > > > > warning C4005:
>         > > > > > > 'SO_DONTLINGER' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(391) : see previous
>         > > > >! > > definition of 'SO_DONTLINGER'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(483) :
>         > > > > warning C4005: 'AF_IPX'
>         > > > > > > : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(449) : see previous
>         > > > > > > definition of 'AF_IPX'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(506) :
>         > > > > warning C4005: 'AF_MAX'
>         > > > > > > : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(468) : see previous
>         > > > > > > definition of 'AF_MAX'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(512) :
>         > > > > error C2011: 'sockaddr'
>         > > > > > > : 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(521) :
>         > > > > error C2011: 'sockproto'
>         > > > > > > : 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(560) :
>         > > > > error C2011: 'linger' :
>         > > > > > > 'struct' type redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(573) :
>         > > > > warning C4005:
>         > > > > > > 'SOMAXCONN' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(533) : see previous
>         > > > > > > definition of 'SOMAXCONN'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(598) :
>         > > > > warning C4005: 'FD_READ'
>         > > > > > &g! t; : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(551) : see previous
>         > > > > > > definition of 'FD_READ'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(601) :
>         > > > > warning C4005:
>         > > > > > > 'FD_WRITE' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(552) : see previous
>         > > > > > > definition of 'FD_WRITE'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(604) :
>         > > > > warning C4005: 'FD_OOB'
>         > > > > > > : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(553) : see previous
>         > > > > > > definition of 'FD_OOB'
>         > > > > > ! > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(607) :
>         > > > > warning C4005:
>         > > > > > > 'FD_ACCEPT' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(554) : see previous
>         > > > > > > definition of 'FD_ACCEPT'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(610) :
>         > > > > warning C4005:
>         > > > > > > 'FD_CONNECT' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(555) : see previous
>         > > > > > > definition of 'FD_CONNECT'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(613) :
>         > > > > warning C4005:
>         > > > > > > 'FD_CLOSE' : macro redefinition
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(556) : see previous
>         > > > > > > definition of 'FD_CLOSE'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1427) :
>         > > > > error C2375: 'accept' :
>         > > > > > > redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(707) : see declaration
>         > > > > > > of 'accept'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1448) :
>         > > > > error C2375: 'bind' :
>         > > > > > > redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(710) : see declaration
>         > > > > > > of 'bind'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1467) :
>         > > > > error C2375:
>         > > > > > > 'closesocket' : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(712) : see declaration
>         > > > > > > of 'closesocket'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1486) :
>         > > > > error C2375: 'connect'
>         > > > > > > : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(714) : see declaration
>         > > > > > > of 'connect'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1507) :
>         > > > > error C2375:
>         > > > > > > 'ioctlsocket' : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual> > >
>         > studio\vc98\include\winsock.h(716) : see declaration
>         > > > > > > of 'ioctlsocket'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1528) :
>         > > > > error C2375:
>         > > > > > > 'getpeername' : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(718) : see declaration
>         > > > > > > of 'getpeername'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1549) :
>         > > > > error C2375:
>         > > > > > > 'getsockname' : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(721) : see declaration
>         > > > > > > of 'getsockname'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1572) :
>         > > > > error C2375:
>         > > > > > > 'getsockopt' : redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(724) : see declaration
>         > > > > > > of 'getsockopt'
>         > > > > > > c:\program files\microsoft visual
>         > > studio\vc98\include\winsock2.h(1593) :
>         > > > > error C2375: 'htonl' :
>         > > > > > > redefinition; different linkage
>         > > > > > > c:\program files\microsoft visual
>         > > > > studio\vc98\include\winsock.h(727) : see declaration
>         > > > > > > of 'htonl'
>         > > > >
>         > > > === message truncated ===
>         > > >
>         > > >
>         > > >
>         > > >
>         > > > __________________________________
>         > > > Do you Yahoo!?
>         > > > The all-new My Yahoo! - What will yours do?
>         > > > http://my.yahoo.com
>         > > >
>         > >
>         > >
>         > > ---------------------------------
>         > > Do you Yahoo!?
>         [UTF-8?]> > Meet the all-new My Yahoo! – Try it today!
>         > 
>         > --
>         > Damitha Kumarage
>         > hSenid Software International (PVT) Ltd
>         > damitha@hSenid.lk
>         > 
>         > Lanka Software Foundation (http://www.opensource.lk)
>         > 
>         > Do you Yahoo!?
>         [UTF-8?]> Meet the all-new My Yahoo! – Try it today!
>         
>         
>         --
>         Damitha Kumarage
>         hSenid Software International (PVT) Ltd
>         damitha@hSenid.lk
>         
>         Lanka Software Foundation (http://www.opensource.lk)
>         
> 
> ______________________________________________________________________
> Do you Yahoo!?
> Yahoo! Mail - You care about security. So do we.


Mime
View raw message