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]
