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
|