exception code 61 when initialize ws call

2006-02-28 Thread Tao Yang

Hi there,

I am trying moving my Axis C++ client from linux box to windows box but 
no luck yet -
it seems the client loads the dll OK as I saw following from the output 
window in MS Visual Studio:


'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\AxisXMLParserXerces.dll', No symbols 
loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\xerces-c2_2_0-win32\bin\xerces-c_2_2_0.dll', No symbols 
loaded.
'searchClient.exe': Loaded 'C:\WINDOWS\system32\msvcirt.dll', No symbols 
loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\HTTPTransport.dll', No symbols loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\HTTPChannel.dll', No symbols loaded.


However, once it step into the generated stub code and call initialize at :
  if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER))
  return RetArray;
it throws an exception which has a exception code 61 and and error msg: 
"Error: expression cannot be evaluated"

as observed from the "Locals" window; at the same time, the output is:

First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: HTTPTransportException @ 0x014ff854.
First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: axiscpp::AxisGenException @ 0x014ff8f4.
First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: [rethrow] @ 0x.


Any idea what have I done wrong?

I am trying to rebuild the axis to get an debuggable version - but 
without luck neither, the error from ant is:
4290: C++ exception specification ignored except to indicate a function 
is not __declspec(nothrow)
 [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) : 
error C2440: 'reinterpret_ca

st' : cannot convert from 'volatile long *' to 'void ** '
 [cc] Conversion loses qualifiers
 [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) : 
fatal error C1903: unable to

recover from previous error(s); stopping compilation
where the code is like this:

static volatile long g_uModuleInitializing = 0;
static void start_initializing()
{
  long exchange = 1;
  long comperand = 0;
  while (InterlockedCompareExchange(((void **)&g_uModuleInitializing), 
(void *)&exchange, (void *)&comperand));

}
the line 302 is the last line where calling 
InterlockedCompareExchange(((void **)...

Any suggestion?

By the way, the same code works ok on linux.

Thanks!
Tao


Re: exception code 61

2006-02-28 Thread Adrian Dick
Hi,

To answer your second question:
The locking mechanism used on Windows relied on an API which changed
between versions of MS Visual C++.  Unfortunately, this was not discovered
until after Axis C++ 1.5 was released.

However, we have now fixed this section of code to use an alternate API.
If you wish to use source, you can get this from SVN (see instructions
here: http://ws.apache.org/axis/cpp/developers-guide.html#checkingOut )

Adrian
___
Adrian Dick ([EMAIL PROTECTED])
WebSphere MQ and ESB Development
IBM United Kingdom Ltd.
Tel: +44-(0)-1962-819212
Notes: Adrian Dick/UK/[EMAIL PROTECTED]

>
> I am trying to rebuild the axis to get an debuggable version - but
> without luck neither, the error from ant is:
> 4290: C++ exception specification ignored except to indicate a function
> is not __declspec(nothrow)
>[cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) :
> error C2440: 'reinterpret_ca
> st' : cannot convert from 'volatile long *' to 'void ** '
>[cc] Conversion loses qualifiers
>[cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) :
> fatal error C1903: unable to
>  recover from previous error(s); stopping compilation
> where the code is like this:
>
> static volatile long g_uModuleInitializing = 0;
> static void start_initializing()
> {
> long exchange = 1;
> long comperand = 0;
> while (InterlockedCompareExchange(((void **)&g_uModuleInitializing),
> static_cast(&exchange), static_cast(&comperand)));
> }
> the line 302 is the last line where calling
> InterlockedCompareExchange(((void **)...
> Any suggestion?
>
> By the way, the same code works ok on linux.
>
> Thanks!
> Tao



exception code 61

2006-02-27 Thread Tao Yang

Hi there,

I am trying moving my Axis C++ client from linux box to windows box but 
no luck yet -
it seems the client loads the dll OK as I saw following from the output 
window in MS Visual Studio:


'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\AxisXMLParserXerces.dll', No symbols 
loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\xerces-c2_2_0-win32\bin\xerces-c_2_2_0.dll', No symbols 
loaded.
'searchClient.exe': Loaded 'C:\WINDOWS\system32\msvcirt.dll', No symbols 
loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\HTTPTransport.dll', No symbols loaded.
'searchClient.exe': Loaded 
'C:\opt\utils\axis-c-1-5-win32\bin\HTTPChannel.dll', No symbols loaded.


However, once it step into the generated stub code and call initialize at :
   if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER))
   return RetArray;
it throws an exception which has a exception code 61 and and error msg: 
"Error: expression cannot be evaluated"

as observed from the "Locals" window; at the same time, the output is:

First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: HTTPTransportException @ 0x014ff854.
First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: axiscpp::AxisGenException @ 0x014ff8f4.
First-chance exception at 0x7c81eb33 in searchClient.exe: Microsoft C++ 
exception: [rethrow] @ 0x.


Any idea what have I done wrong?

I am trying to rebuild the axis to get an debuggable version - but 
without luck neither, the error from ant is:
4290: C++ exception specification ignored except to indicate a function 
is not __declspec(nothrow)
  [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) : 
error C2440: 'reinterpret_ca

st' : cannot convert from 'volatile long *' to 'void ** '
  [cc] Conversion loses qualifiers
  [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) : 
fatal error C1903: unable to

recover from previous error(s); stopping compilation
where the code is like this:

static volatile long g_uModuleInitializing = 0;
static void start_initializing()
{
   long exchange = 1;
   long comperand = 0;
   while (InterlockedCompareExchange(((void **)&g_uModuleInitializing), 
static_cast(&exchange), static_cast(&comperand)));

}
the line 302 is the last line where calling 
InterlockedCompareExchange(((void **)...

Any suggestion?

By the way, the same code works ok on linux.

Thanks!
Tao