Michael Xiong says, he has a fix for this:

<citation>
This problem is completely the same with AXISCPP-972 & AXISCPP-973(for 1.6beta) which I've already reported on JIRA.
http://issues.apache.org/jira/browse/AXISCPP-972
http://issues.apache.org/jira/browse/AXISCPP-973

And it was indeed an old problem AXISCPP-884 for 1.5final
http://issues.apache.org/jira/browse/AXISCPP-884

which I've already reported some months ago.

When I reporting bug on JIRA, I always wrote my solution to resolve the bug in descriptions.
</citation>

Greetings

Franz

Nadir Amra schrieb:
I will be looking into this....just trying to clean up some other things 
first.  I will also be looking at other jira issues and seeing what I can 
fix.  But all this takes time so please be patient.

Nadir K. Amra


Franz Fehringer <[EMAIL PROTECTED]> wrote on 06/26/2006 02:55:33 AM:

  
Hello,

I work currently in the realm of deserializing xsd:extension based data 
types.
After noticing, that getChardataAs does not work as expected, i had a 
closer look at it.
It is defined (in SoapDeserializer.cpp) as
void
SoapDeSerializer::getChardataAs(void* pValue,
                                 XSDTYPE type)
and contains
pValue = pSimpleType->getValue();
Since call by value is done here, this has no effect on the caller side 
(it is a local copy which is assigned to).
Furthermore in the generated sources, calls like
pIWSDZ->getChardataAs((void*)&(param->t_SellRate_value), XSD_DECIMAL);
show up.
Taking the address with an ampersand does not lead to a modifyable 
lvalue, so some repair has to be done here too.
With string (char*) datatypes there is an additional problem:
pIWSDZ->getChardataAs((void*)&(param->t_RequiredRoom2_value), 
    
XSD_STRING);
  
This is pointer to pointer, where only pointer was intended (no 
ampersand should be applied for xsd__string and xsd__nmtoken; i made a 
(resolved already) JIRA entry for a similar problem in the serializing 
code).

I resolved these problems temporarily in the following way

Pass the void* as a reference
void
SoapDeSerializer::getChardataAs(void*& pValue,
                                 XSDTYPE type)
This means changes in SoapDeSerializer.cpp, SoapDeSerializer.h and 
IWrapperSoapDeSerializer.hpp.

Replace

pIWSDZ->getChardataAs((void*)&(param->t_SellRate_value), XSD_DECIMAL);
with
void* pValue3;
pIWSDZ->getChardataAs(pValue3, XSD_DECIMAL);
param->t_SellRate_value = *((xsd__decimal*) pValue3);
and
pIWSDZ->getChardataAs((void*)&(param->t_RequiredRoom2_value), 
    
XSD_STRING);
  
with
void* pValue6;
pIWSDZ->getChardataAs(pValue6, XSD_STRING);
param->t_RequiredRoom2_value = (xsd__string) pValue6;

Any ideas, how to make this better?
Any kind soul (Adrian, John, ...) to integrate this (or an alternative 
approach) into stub generation?

Greetings

Franz


[attachment "feh.vcf" deleted by Nadir Amra/Rochester/IBM] 
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
    

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

  

begin:vcard
fn:Dr. Franz Fehringer
n:Fehringer;Franz
org:ISO Software Systeme
adr;quoted-printable:;;Eichendorffstrasse 29;N=C3=BCrnberg;;90491;Deutschland
email;internet:mailto:[EMAIL PROTECTED]
tel;work:+49/(911) - 99594-0 
tel;fax:+49/(911) - 99594-580
x-mozilla-html:TRUE
url:http://www.isogmbh.de/
version:2.1
end:vcard


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to