[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