[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-c-dev
Subject:    Re: The Stub base class
From:       Samisa Abeysinghe <samisa_abeysinghe () yahoo ! com>
Date:       2004-05-26 12:42:17
Message-ID: 20040526124217.24373.qmail () web40601 ! mail ! yahoo ! com
[Download RAW message or body]

I updated the WSDL2WS tool to eneble the generated stub to inherit from Stub base class.
I only changed the java code for cpp and cpp/literal client stub generation.
The Stub class should be wrapped for the C services to expose the set/get interface for SOAP/HTTP
headers. This task is still TODO.

Thanks,
Samisa...

--- Samisa Abeysinghe <samisa_abeysinghe@yahoo.com> wrote:
> Roshan,
>    I commited the Stub class.
>    The test application is in tests/client/stubTest/stubBase folder.
>    Stub.h is in include/axis/client and Stub.cpp in src/engine/client
> 
>    Please use the test sample and improve the Stub class until the java tool is updated. (add
> get/remove methods)
>    
>    Soap body attributes, transport timeouts etc. could be made to set at stub level using this
> Stub class. 
> 
>    I tested the class on Linux and it worked, however there were problems adding content into a
> header. Also I did not test this on Windows, hence please test on windows.
> 
> Thanks,
> Samisa...
> 
> --- Samisa Abeysinghe <samisa_abeysinghe@yahoo.com> wrote:
> > Hi All,
> >    At last, here it is!!! (see below)
> >    I had to do many changes like adding copy constructors to get this stub working.
> >    The hard part was not to write this stub class, but to get the rest of the code behave in a
> > way
> > to support setting SOAP/Transport headers.
> >    I have commited the changes to other classes but not this Stub class.
> > 
> >    I tested this and it works. This means that at the stub level, HTTP headers, SOAP headers
> > could
> > be set.
> > Sample usage:
> >     InteropTestPortType ws(endpoint); //create stub object
> >     ws.setEndPoint( "http://localhost:8080/axis/services/echo" );
> >     ws.setTransportProperty( "Accept-Language", " da, en-gb;q=0.8, en;q=0.7" );
> >     IHeaderBlock* phb = ws.createHeaderBlock( "Trans", "m",
> "http://ws.apache.org/axisCppTest/"
> > );
> > 
> >    However there remains much more work: change stub generation to inherit from this class;
> add
> > get/remove methods for SOAP/HTTP header manipulation etc...
> > 
> >    Your comments on this are welcome.
> > Thanks,
> > Samisa...
> > 
> > class Stub
> > {
> > public:
> >         Stub(const char* pchEndpointUri);
> >         virtual ~Stub();
> >         int initilizeCall();
> >         void setEndPoint(char* pcEndPoint);
> >         void setTransportProperty(const char* pcKey, const char* pcValue);
> >         IHeaderBlock* createHeaderBlock(AxisChar *pachLocalName,
> >                 AxisChar *pachPrefix, AxisChar *pachUri);
> > 
> > protected:
> >         void setTransportProperties();
> >         void setSOAPHeaders();
> >         Call* m_pCall;
> >         vector <char*> m_vKeys;
> >         vector <char*> m_vValues;
> >         vector <IHeaderBlock*> m_vSOAPHeaderBlocks;
> > 
> > };
> > 
> > 
> > 
> > 	
> > 		
> > __________________________________
> > Do you Yahoo!?
> > Friends.  Fun.  Try the all-new Yahoo! Messenger.
> > http://messenger.yahoo.com/ 
> 
> 
> 
> 	
> 		
> __________________________________
> Do you Yahoo!?
> Friends.  Fun.  Try the all-new Yahoo! Messenger.
> http://messenger.yahoo.com/ 



	
		
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic