hello has any1 faced this problem?

On Mon, Dec 1, 2008 at 6:14 PM, Pranav Savkur <[EMAIL PROTECTED]>wrote:

> Hello Alberto,
>       the XMLPlatformUtils::Initialize() function leads to a crash in
> Xerces 2.8
> The code is like:
>
> try
>         {
>         XERCES_CPP_NAMESPACE::XMLPlatformUtils::Initialize();
>
>         }
>         catch (XERCES_CPP_NAMESPACE::XMLException& e)
>         {
>             CString cstrTraceMsg;
>             cstrTraceMsg.Format(_T("ERROR: Internal DOM Error - An error
> occurred during creation of output transcoder. Exception code: %d Msg is :
> %s"), e.getCode(),e.getMessage());
>
> TRACE_ERROR(CLString(cstrTraceMsg),ERR_DOM_OPERATION_FAILED);
>         }
>         catch(...)
>         {
>             TRACE_INFO("CSPVXMLParserWrapper::CreateDOMTree()
> XMLPlatformUtils::Initialize - threw an exception");
>         }
> I always get the control into the generic catch block than the XMLException
> catch
>
> when could this happen? any idea?
>
> regards,
> Pranav
>
> On Mon, Dec 1, 2008 at 6:00 PM, Alberto Massari <[EMAIL PROTECTED]>wrote:
>
>> Pranav Savkur wrote:
>>
>>> hi alberto,
>>>       what is the encoding i have to set for the CT2CA object? how do i
>>> do
>>> this? please let me know
>>>
>>>
>>
>> It all depends on what that class does (and being a user defined class,
>> you should know it): I can only guess it's US-ASCII, i.e.
>>
>>  memBufIS->setEncoding(XMLUni::fgUSASCIIEncodingString);
>>
>> But you can get better informations by debugging your application and
>> finding out what exception is being thrown and which part of the parser
>> throws it.
>>
>> Alberto
>>
>>
>>  regards,
>>> Pranav
>>>
>>> On Mon, Dec 1, 2008 at 3:31 PM, Alberto Massari <[EMAIL PROTECTED]
>>> >wrote:
>>>
>>>
>>>
>>>> Pranav Savkur wrote:
>>>>
>>>>
>>>>
>>>>> Hello Alberto, thanks for replying.
>>>>> 1.i do hav an XMLException block but the control does not come here
>>>>> 2. i have deleted the wrapper4inputsource now
>>>>> 3.its just that the m_XMLFileName in this case contains the XML string
>>>>> itself and not really the file name.
>>>>>
>>>>>
>>>>>
>>>>>
>>>> If m_XMLFileName contains an XML string, and you really need to convert
>>>> it
>>>> to a different encoding using the CT2CA object, you should invoke
>>>> setEncoding on the MemBufInputSource to tell the parser to ignore the
>>>> encoding declaration contained in the XML stream.
>>>> If this also fails, you should just try running the program in the
>>>> debugger
>>>> and see what exception is really thrown.
>>>>
>>>> Alberto
>>>>
>>>>
>>>>  Is it correct the way the parameters to MembufInput source are data
>>>> typed?
>>>>
>>>>
>>>>> We are using VS2005 with Xerces 2.8
>>>>>
>>>>> On Mon, Dec 1, 2008 at 3:11 PM, Alberto Massari <
>>>>> [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> A few things that you should check:
>>>>>> 1) add a catch handler for XMLException, and check what getMessage
>>>>>> says;
>>>>>> using only the catch(...) will not give you any information on the
>>>>>> real
>>>>>> cause of the error
>>>>>> 2) why are you declaring a Wrapper4InputSource object if you are not
>>>>>> using
>>>>>> it?
>>>>>> 3) the MemBufInputSource class must be used to hold an XML fragment,
>>>>>> but
>>>>>> you are constructing it around a variable named m_XMLFileName; if this
>>>>>> variable holds a file name (instead of the file content) you should
>>>>>> use
>>>>>> LocalFileInputSource
>>>>>>
>>>>>> Alberto
>>>>>>
>>>>>>
>>>>>> Pranav Savkur wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> I have one implementation in Xerces C++ 2.8 where in I have this
>>>>>>> code:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>                      try
>>>>>>>>                      {
>>>>>>>>                      //const XMLCh* const bufID = NULL;
>>>>>>>>                      const XMLCh *const bufId = _T("SPVoice");
>>>>>>>>                      //static const TCHAR* bufID = "SPVoice";
>>>>>>>>                      CT2CA pszConvertedAnsiString (m_XMLFileName);
>>>>>>>>                      std::string strStd (pszConvertedAnsiString);
>>>>>>>>
>>>>>>>>                      const char* pStr = strStd.c_str();
>>>>>>>>                      //char* TCHAR = StringToChar(m_XMLFileName);
>>>>>>>>
>>>>>>>> TRACE_INFO("CSPVXMLParserWrapper::CreateDOMTree() converted
>>>>>>>> StringToChar");
>>>>>>>>
>>>>>>>>                      MemBufInputSource* memBufIS = new
>>>>>>>> MemBufInputSource(
>>>>>>>>                               (const XMLByte *)pStr
>>>>>>>>                              ,strlen(pStr)
>>>>>>>>                              , bufId
>>>>>>>>                              , false
>>>>>>>>                              );
>>>>>>>>
>>>>>>>> TRACE_INFO("CSPVXMLParserWrapper::CreateDOMTree() formed
>>>>>>>> MemBufInputSourceObject Successfully");
>>>>>>>>
>>>>>>>>                      m_pDOMParser->setDoNamespaces(false);
>>>>>>>>                      TRACE_INFO("Entering
>>>>>>>> CSPVXMLParserWrapper::CreateDOMTree() SetDoNamespace set to false");
>>>>>>>>
>>>>>>>>                      Wrapper4InputSource wrap(memBufIS, false);
>>>>>>>>
>>>>>>>>                      m_pDOMParser->parse(*memBufIS);
>>>>>>>>                      }
>>>>>>>>                      catch (...)
>>>>>>>>                      {
>>>>>>>>                      cstrTraceMsg.Format(_T("ERROR: Internal Error
>>>>>>>> - Unexpected exception during parsing: %s "), m_XMLFileName);
>>>>>>>>
>>>>>>>>
>>>>>>>>  TRACE_ERROR(CLString(cstrTraceMsg),ERR_FAILURE);
>>>>>>>>                      sifRetCode = ERR_FAILURE;
>>>>>>>>                      m_strErrorString = _T("Generic Exception
>>>>>>>> During Parsing the input XML File.Please check if the XML input
>>>>>>>> conforms to the schema");
>>>>>>>>
>>>>>>>>                      }
>>>>>>>>
>>>>>>>> At the m_pDOMParser->parse(*memBufIS); The control goes into the
>>>>>>>> catch
>>>>>>>> block.
>>>>>>>> Can you point out any probs in the code? Without the
>>>>>>>> Wrapper4InputSource wrap(memBufIS, false);, this code was working in
>>>>>>>> Xerces 2.2 of C++
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>

Reply via email to