Наше программное обеспечение написано на C # и требует подключения к SAP. Поскольку некоторые из наших клиентов используют более старые версии SAP, а другие не имеют SAP PI, мы не можем подключиться через веб-сервисы.
Я попытался подключиться к SAP через библиотеку удаленных вызовов функций SAP NetWeaver (sapnwrfc.dll) следующим образом:
- Добавить sapnwrfc.dll и другие библиотеки из NWRFC_6-20004550.SAR
(будучи icudt34.dll, icuin34.dll, icuuc34.dll, libicudecnumber.dll и libsapucum.dll)
в C: \ WINDOWS \ system32, чтобы быть уверенным, что их можно найти.
- В моем коде C # добавьте следующее в определение класса:
[DllImport ("sapnwrfc.dll", CharSet = CharSet.Auto)]
public static extern void RfcInit ();
и следующее в методе, который должен делать эту работу:
RfcInit ();
Запуск этого кода дает исключение DllNotFoundException:
Невозможно загрузить DLL 'sapnwrfc.dll': это приложение не удалось запустить из-за неправильной конфигурации приложения. Переустановка приложения может решить проблему. (Исключение из HRESULT: 0x800736B1)
Запуск стандартного соединения с C ++ - пример из C #
[DllImport ("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox (IntPtr hWnd, текст String, заголовок String, тип uint);
MessageBox (новый IntPtr (0), «Hello World!», «Hello Dialog», 0);
отлично работает.
Любые предложения, как заставить это работать нормально (чтобы нам не нужно было обходить эту проблему путем написания прокси Java с использованием JCo)?