axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa_abeysin...@yahoo.com>
Subject Re: Adding a Transport to Axis Clients? Is it possible?
Date Thu, 18 Nov 2004 10:41:40 GMT
Re: > Can we look to see if the address is ipv6 and, if not, act accordingly 

I had a quick look at it and looks like we can do it on Linux. Thanks for the suggestion John.


With IPV4 it works (Without hardcoding any IPV4 specific stuff). Need to test with IPV6 env,
but I
guess it may work.

Samisa...



--- Samisa Abeysinghe <samisa_abeysinghe@yahoo.com> wrote:

> > Can we look to see if the address is ipv6 and, if not, act accordingly 
> 
> This should be possible, but I am not sure. I will try this out. However, I am facing
challenges
> with testing.  Hence need help with testing. (So far I have been looking into Linux
> implementation)
> 
> I am tryng to use the Windows toolkit. (For which I reqiure Win 2000 SP1 machine) I will
look
> into
> the possibilities of checking against the address with that as well.
> 
> Thanks,
> Samisa...
> 
> --- John Hawkins <HAWKINSJ@uk.ibm.com> wrote:
> 
> > 
> > 
> > 
> > 
> > Can we look to see if the address is ipv6 and, if not, act accordingly by
> > dropping back to the ipv4 API? This could be done using a class hierarchy
> > and overloading a "doConnection" method ?
> > 
> > 
> > 
> > 
> > John Hawkins
> > 
> > 
> > 
> > 
> >                                                                            
> >              Samisa Abeysinghe                                             
> >              <samisa_abeysingh                                             
> >              e@yahoo.com>                                               To 
> >                                        Apache AXIS C Developers List       
> >              18/11/2004 09:45          <axis-c-dev@ws.apache.org>        
 
> >                                                                         cc 
> >                                                                            
> >              Please respond to                                     Subject 
> >               "Apache AXIS C           Re: Adding a Transport to Axis      
> >              Developers List"          Clients? Is it possible?            
> >                                                                            
> >                                                                            
> >                                                                            
> >                                                                            
> >                                                                            
> >                                                                            
> > 
> > 
> > 
> > 
> > Hi John,
> >    Yes, in my initial implementation, I have written a seperate channel for
> > IPV6. This means we
> > would have to change the axiscpp.conf's Transport_http setting whenever we
> > want to switch using
> > IPV6 vs. non-IPV6 transports.
> > 
> >    Fred had few ideas on making SSL Channel to be loaded as a seperate DLL.
> > If that is
> > implemented, IPV6 channel could be loaded similarly. However we have not
> > dig deep into that.
> > 
> >    I do understand that it is very tedious to change axiscpp.conf time to
> > time, especially given
> > that its location is picked in relation to AXISCPP_DEPLOY env variable. So
> > we cannot use two
> > different conf files at the same time with two clients. A DLL based
> > solution to load different
> > channels would solve this problem (However I am not sure how exactly to do
> > that) As an
> > alternative, we can make locating aciscpp.conf independet of AXISCPP_DEPLOY
> > env. var, so that we
> > could use 2 or more different conf files with clients in parallel. I am not
> > sure about the effort
> > requred to do this. But if it is an acceptable solution, I could look into
> > that.
> > 
> > Thanks,
> > Samisa...
> > 
> > --- John Hawkins <HAWKINSJ@uk.ibm.com> wrote:
> > 
> > >
> > >
> > >
> > >
> > > Hi Samisa,
> > >
> > >
> > > re the ipv6 stuff. Are you writing a new channel class or just changing
> > the
> > > one we have? When you have finished are we going to have two channels one
> > > which is ipv6 enabled and one that isn't ?
> > >
> > > John Hawkins
> > >
> > >
> > >
> > >
> > >
> > 
> > >              Samisa Abeysinghe
> > 
> > >              <samisa_abeysingh
> > 
> > >              e@yahoo.com>
> > To
> > >                                        Apache AXIS C Developers List
> > 
> > >              18/11/2004 06:13          <axis-c-dev@ws.apache.org>
> > 
> > >
> > cc
> > >
> > 
> > >              Please respond to
> > Subject
> > >               "Apache AXIS C           Re: Adding a Transport to Axis
> > 
> > >              Developers List"          Clients? Is it possible?
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > 
> > >
> > >
> > >
> > >
> > > Hi Robert,
> > >    Yes you can write your own transport. What you have to do is to
> > > implement the interface defined
> > > in SOAPTransport.h header in src/trasport folder of the source and create
> > a
> > > new shared transport
> > > lib (a .so on Linux or .dll on Windows). Once you have the new trasport
> > > lib, you can make the
> > > client use it by setting the Transport_http setting in axiscpp.conf file.
> > >
> > >    You can refer to the implementation of this SOAPTransport abstract
> > class
> > > in src/transport/axis2
> > > folder. In essense the design is simple. You need only three classes,
> > > Axis2Transport, Channel and
> > > Url. In OO terms:
> > > 1. Axis2Trasport implements SOAPTransport (inheritance).
> > > 2. Axis2Transport contains Channel
> > > 3. Channel contains URL
> > >
> > > If I explain bit more semantics:
> > > 1. Axis2Trasport class basically handles HTTP protocol specific stuff.
> > > 2. Channel class deals with TCP/IP sockets
> > > 3. And Url helps handle URLs
> > >
> > > What you can do is to implement your's similar to this. Howver we have
> > much
> > > complex HTTP specific
> > > stuff already handled in Axis2Transport class. Sounds like your concern
> > is
> > > only to use the new
> > > socket lib, in whhich case you can use the Axis2Transport as it is and
> > only
> > > extend the Channel
> > > class. There is yet another example of how to do that in the latest CVS
> > > code. Have a look at the
> > > src/transport/axis2/ipv6 folder. Here what I have done is only to extend
> > > the Channel class and use
> > > other classes as they are.
> > >
> > > HTH.
> > >
> > > Regards,
> > > Samisa...
> > >
> > > --- "Robert Simmons Jr." <robert.simmons@jambit.com> wrote:
> > >
> > > > Greetings. My client has developed a TCP implementation that has some
> > > > special technology that I really cant talk amuch about. Thew would like
> > > > to demonstrate the viability of this product by creating some
> > > > implementations of applications on top of the new TCP implementation.
I
> > > > have a new socket library and I would like to use Axis to demonstrate
> > > this.
> > > >
> > > > Is it possible to write a client side transport without delving all the
> > > > way into the axis source base? If so could someone please point me in
> > > > the right direction to start off.
> > > >
> > > > Thanks in advance.
> > > >
> > > > -- Robert
> > > >
> 
=== message truncated ===



		
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com 
 


Mime
View raw message