A glimpse at AXISCPP-716 would be most welcome.
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]