We would like to use external 32bit dll within our SOE (that is 64bit).
Is there any way to do it?
With what version or ArcGIS? On what OS? Actually, it doesn't make much of a difference, since neither Windows nor Linux permits heterogeneous architectures in DLLs. You can use a multiprocessing solution to leverage the 32-bit DLL, writing the result back to the 64-bit process (via pipe or intermediate file), but the better solution involves getting a 64-bit utility DLL.
You can't mix 64 and 32-bit components like this. You will need to change your SOE to 32-bit (i.e. x86 target) in order to reference a 32-bit DLL, or obtain a copy of the external DLL that has been compiled for 64-bit.
ThanksVince and Erik
The server is 10.2.2 and it is 64bit – that is causing the problem.
Can you configure the SOE to be 32bit?
Can you communicate between a process (SOE) and a dll? Do you have to rap the 32bit dll as exe and then use some kind of messaging?
We are trying to get a 64bit version of the dll's but I am not sure it will be possible.
You can compile soe 32bit but then it doesn't run because it's load in a process 64bit
As Vince ad Erik say, better solution get 64-bit DLL or create a separate process 32bit. See also Accessing 32-bit DLLs from 64-bit code | Reflections on IT
Retrieving data ...