question

Upvotes
Accepted
1 1 1 1

Error occurred whilst connecting Redi API via Python

Downloaded the Python script provided in the FTP, however, when I tried to run the Python program, named ‘Order Entry – Equities Futures.py’, it gave me the following error messages:



File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch

IDispatch = pythoncom.connect(IDispatch)


com_error: (-2147221005, 'Invalid class string', None, None)



During handling of the above exception, another exception occurred:


Traceback (most recent call last):


File "C:\Users\Admin\Desktop\Order Entry - Equities & Futures.py", line 36, in <module>

o = win32com.client.Dispatch("REDI.ORDER")


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch

dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName

return (_GetGoodDispatch(IDispatch, clsctx), userName)


File "C:\Users\Admin\anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch

IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)


com_error: (-2147221005, 'Invalid class string', None, None)


I can run win32com library and try to connect to Word application and it works well on my 64-bit system. Could someone please take a look at the problem and advice how to fix it?



Had tried to find the answer from the forum however, solution is suggesting us to go through step 5 in quick start. There is only solution for excel api in step 5, not python.

redi-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @wadehong,

I am also running on win 64 bit - just tested -the example runs as expected from my testing.

A quick sanity check:

  • Your REDIPlus desktop is running and the user is logged in, when you test?
  • Which version of win32 are you running?
python -m pip freeze | findstr 32
pywin32==300



Hi, thanks for your help, I have just updated pywin32 version to 300, however it still doesn't work and keeps showing this kind of error: com_error: (-2147221005, 'Invalid class string', None, None)

I think it 's due to the connection error to REDIPlus. and I have already opened RediPlus.

Can u provide a more professional solution?


Hello @wadehong

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,


AHS

1 Answer

· Write an Answer
Upvotes
Accepted
32.2k 40 11 20

Hello @wadehong,

Please confirm:

  • Your REDIPlus desktop is running, and your user is logged in when you submit the request
  • Try REDIPlus -> Troubleshooting ->Reregister Files
  • Verify your version of python
  • You are running the python example on the same machine at the same time that your logged in REDIPlus desktop is running?
  • The example is not modified, other then your unique submission parameters?
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.