axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Dick <adrian.d...@uk.ibm.com>
Subject RE: [AXIS C++ 1.6b] : Deserialization problems
Date Thu, 06 Apr 2006 16:12:36 GMT
Hi,


Thanks for pointing out the empty element problem.  Both rpc and doc should
have been fixed at the same time.
I have now applied and tested your suggested fix, and all our existing
testcases run without any problems.  So I have now committed the fix and it
should be available in the next nightly build.

I'm a little mystified by problems you're seeing with non-US-ASCII
characters and will need to do a little more digging into this problem.

Regards,
Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)


"Damien Bouchet" <dbouchet@dictao.com> wrote on 06/04/2006 13:57:42:

> Hello, thanks for the anwser.
>
> In fact, with more research, we have found the problem has been
> partially fixed in the 1.6 revision with this check-in in revision 369808
:
> http://svn.apache.org/viewcvs.cgi?rev=369808&view=rev
>
> But that fix is only partial and doesn't solve our problem, because
> it fixes only the DOC_LITERAL case, and not the RPC_ENCODED case.
>
> Proposed patch based on the latest SoapDeSerializer.cpp version
> available from this URL (adding a required check on m_pNode too):
> http://svn.apache.org/viewcvs.
> cgi/webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
>
> --- SoapDeSerializer.cpp        2006-04-06 13:40:41.000000000 +0200
> +++ SoapDeSerializerFix.cpp     2006-04-06 02:50:55.096619672 +0200
> @@ -1598,20 +1598,20 @@
>              }
>              else if (m_pNode && (END_ELEMENT == m_pNode->m_type) &&
> bNillFound  ) //xsi:nil="true"
>              {
>                  pSimpleType->deserialize(NULL);
>                  m_pNode = NULL;
>                  return;
>              }
>
> -            else if (END_ELEMENT == m_pNode->m_type)    // We have
> an empty string - Jira AXISCPP-93
> +            else if (m_pNode && (END_ELEMENT == m_pNode->m_type) )
> // We have an empty string - Jira AXISCPP-93
>              {
>                  pSimpleType->deserialize("");
> -                m_pNode = m_pParser->next();
> +                m_pNode = NULL;
>                  return;
>              }
>              else
>              {
>                  // simpleType may have xsi:nill="true" */
>                  //m_pNode = NULL;
>                  // this is important when deserializing
>                  // arrays
>
> We also seem to have a problem with non US-ASCII requests, even when
> they apparently are properly UTF-8 declared and encoded.
> We have not been able yet to understand what happens.
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/
> " xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:
> tss="urn:tokenSoapService" xmlns:types="urn:
> tokenSoapService/encodedTypes" xmlns:xsi="http://www.w3.
> org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <soap:Body
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <tss:make_token>
> <text1 xsi:type="xsd:string">eeéee</text1>
> <text2 xsi:type="xsd:string">TEXT2</text2>
> </tss:make_token>
> </soap:Body>
> </soap:Envelope>
>
> Text1 seems to be handled just like if it were empty in our test.
> Our treatment gets the right value for text2.
>
> Best regards
>
>
>
---------------------------------------------------------------------------------------------------------------

> Ce message et tous les fichiers qui y sont attachés contiennent des
> informations
> confidentielles ou appartenant à Dictao. Ils sont destinés à l'intention
> exclusive de son (ses) destinataire(s). Toute divulgation,
> utilisation, diffusion ou
> reproduction (totale ou partielle) de ce message, ou des informations
> qu'il contient, doit être préalablement autorisée. Tout message
électronique
> est susceptible d'altération et son intégrité ne peut être assurée.
> Dictao décline
> toute responsabilité au titre de ce message s'il a été modifié ou
> falsifié. Si vous
> n'êtes pas destinataire de ce message, merci de le détruire immédiatement

> et d'avertir l'expéditeur de l'erreur de distribution et de la
> destruction du message.
> Dictao - RCS Paris B 429 383 979 - 42, avenue de la Grande Armée - 75017
Paris
>
> This e-mail and all the attached files contain confidential
> information or information
> belonging to Dictao. They are intended solely for the addressee(s).
> The unauthorized
> disclosure, use, dissemination or copying (either whole or partial)
> of this e-mail, or
> any information it contains, is prohibited. E-mails are susceptible
> to alteration and
> their integrity cannot be guaranteed. Dictao shall not be liable for
> this e-mail if
> modified or falsified. If you are not the intended recipient of this
> e-mail, please
> delete it immediately from your system and notify the sender of the wrong

> delivery and the mail deletion.
> Dictao  - Registered Office : Paris B 429 383 979 - 42, avenue de la
> Grande Armée - 75017 Paris - France
>


Mime
View raw message