axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <HAWKI...@uk.ibm.com>
Subject Re: Adding a Transport to Axis Clients? Is it possible?
Date Thu, 18 Nov 2004 09:57:34 GMT




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
> >
> > **************************************************************
> > Robert Simmons Jr.
> > Senior Software Architect
> > Author: Hardcore Java :
> > http://www.oreilly.com/catalog/hardcorejv/index.html
> >
> > Sendlingerstrasse 24
> > D-80331 Munich, Germany
> > Mobile: 162 387 4710
> >
> >
>
>
>
>
> __________________________________
> Do you Yahoo!?
> The all-new My Yahoo! - Get yours free!
> http://my.yahoo.com
>
>
>
>
>




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





Mime
View raw message