You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Samisa Abeysinghe <sa...@yahoo.com> on 2004/05/26 12:38:51 UTC
Re: The Stub base class
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 <sa...@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/
Re: The Stub base class
Posted by Roshan Weerasuriya <ro...@opensource.lk>.
hi samisa,
This is a good approach which you have come up to live with existing stuff,
for the moment. I added few thing to let this code run on windows, and few
required methods.
> Soap body attributes, transport timeouts etc. could be made to set at
stub level using this
> Stub class
added setting method attributes.
>however there were problems adding content into a
> header
Fixed it.
>Also I did not test this on Windows, hence please test on windows.
Tested.
rgds,
Roshan
rgds,
Roshan
rgds,
Roshan
At 05:42 AM 5/26/2004 -0700, you wrote:
>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 <sa...@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 <sa...@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/
Re: The Stub base class
Posted by Samisa Abeysinghe <sa...@yahoo.com>.
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 <sa...@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 <sa...@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/