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 Mark Whitlock <ma...@uk.ibm.com> on 2005/06/24 14:05:12 UTC

Samisa: TestSoapHeaderBlock fixed




Hi Samisa,
I have fixed TestSoapHeaderBlock (and other similar tests) which were
failing when the test added header blocks, invoked the web service, deleted
the header blocks, invoked the web service again and the soap message
produced contained a soap header begin and end tag, with no header blocks
in it. I think this was due to SoapSerializer::reset clearing the
HeaderBlocks but not deleting the SoapHeader itself. I've fixed this by
making SoapHeader::serialize return immediately if there are no
HeaderBlocks to serialize.

I mention this because I know this was an area that you were involved with
a couple of weeks ago. I'm not sure whether my fix is correct and I would
like to discuss it.

SoapSerializer::reset clears only the HeaderBlocks, leaving any attributes
or namespaces on the SoapHeader alone. I tried removing
SoapHeader::addAttribute and SoapHeader::addNamespaceDecl and Axis C++
built successfully. So no one sets attributes or namespaces on the
SoapHeader. So there is code here that is never executed.

Are Attributes and Namespaces on SoapHeader redundant, or should the
methods to add them be externalised?
Mark
Mark Whitlock
IBM


Re: Samisa: TestSoapHeaderBlock fixed

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Hi Mark,
    I looked into the problems reported by you and looks like I have
made a mistake by leaving SoapHeader undeleted. However, I left this
alone because I did not want to new SoapHeader every time. So your fix
solves the problem by returning in serialize if there is nothing in
SoapHeader to be serialized.

   I do not think that  Attributes and Namespaces on SoapHeader are
redundant. I think they are not being exposed so that people could set
them on a SoapHeader. So I too think that those methods to add them
should be externalised as you have suggested.

Thanks,
Samisa...

On 6/24/05, Mark Whitlock <ma...@uk.ibm.com> wrote:
> 
> 
> 
> 
> Hi Samisa,
> I have fixed TestSoapHeaderBlock (and other similar tests) which were
> failing when the test added header blocks, invoked the web service, deleted
> the header blocks, invoked the web service again and the soap message
> produced contained a soap header begin and end tag, with no header blocks
> in it. I think this was due to SoapSerializer::reset clearing the
> HeaderBlocks but not deleting the SoapHeader itself. I've fixed this by
> making SoapHeader::serialize return immediately if there are no
> HeaderBlocks to serialize.
> 
> I mention this because I know this was an area that you were involved with
> a couple of weeks ago. I'm not sure whether my fix is correct and I would
> like to discuss it.
> 
> SoapSerializer::reset clears only the HeaderBlocks, leaving any attributes
> or namespaces on the SoapHeader alone. I tried removing
> SoapHeader::addAttribute and SoapHeader::addNamespaceDecl and Axis C++
> built successfully. So no one sets attributes or namespaces on the
> SoapHeader. So there is code here that is never executed.
> 
> Are Attributes and Namespaces on SoapHeader redundant, or should the
> methods to add them be externalised?
> Mark
> Mark Whitlock
> IBM
> 
>