2010-02-26 2 views
3

Наше программное обеспечение написано на C# и должно быть подключено к SAP. Поскольку некоторые из наших клиентов используют более старые версии SAP, а другие не имеют SAP PI, мы не можем подключаться через webservices.Как подключиться к SAP с C# через библиотеку RFC SAP NetWeaver (sapnwrfc.dll)?

Я пытался подключиться к SAP через Remote Function SAP NetWeaver библиотеки вызовов (sapnwrfc.dll) следующим образом:

  • Добавить sapnwrfc.dll и другие DLLs из NWRFC_6-20004550.SAR (будучи icudt34 .dll, icuin34.dll, icuuc34.dll, libicudecnumber.dll и libsapucum.dll) в C: \ WINDOWS \ system32, чтобы быть уверенным, что они могут быть найдены.
  • В моей C# кода добавьте следующий код в определении класса:
            [DllImport ("sapnwrfc.dll", CharSet = CharSet.Auto)]
            общественности статической ехЬегп недействительным RfcInit() ;
    и следующие методы, которые должны выполнять работу:
            RfcInit();

Выполнение этого кода дает DllNotFoundException:
Не удается загрузить DLL «sapnwrfc.dll»: Это приложение не удалось запустить из-за конфигурации приложения неверны. Переустановка приложения может решить проблему. (Исключение из HRESULT: 0x800736b1)

Запуск стандарт подключить к-C++ - из-C#, например
        [DllImport ("User32.dll", НаборСимволов = CharSet.Unicode)]
        public static extern int MessageBox (IntPtr hWnd, String text, String caption, uint type);
        MessageBox (новый IntPtr (0), «Hello World!», «Hello Dialog», 0);
работает нормально.

Любые предложения, как сделать эту работу прекрасной (так что нам не нужно обходить эту проблему, написав прокси-сервер Java с помощью JCo)?

+0

Хороший вопрос - понятия не имею, извините. Помечая это как RFC дополнительно. Если вам нужна помощь в резерве java, не стесняйтесь спрашивать :-) – vwegert

ответ

2

Вы проверили с помощью средства просмотра зависимостей, если вам не хватает некоторой библиотеки DLL? Однажды я написал управляемую оболочку для библиотеки rfc (по крайней мере, ее часть), и я помню, что у меня была проблема с некоторыми из загружаемых библиотек rfc. Одна версия просто не работала, и я не понял, что случилось. Другая версия (старше) работала очень хорошо.

Я тем не менее есть проблемы с библиотекой юникода (некоторые проблемы доступа к памяти, которая появилась случайно), поэтому мне пришлось перейти на версию без юникода ...

Если бы я должен был сделать что-то вроде этого снова, Я бы очень серьезно подумал о покупке разъема: http://www.theobald-software.com/en/products/erpconnect.htm

Я не могу сказать, если это хорошо, но они, похоже, уже давно.

1

Почему вы просто не используете «.NET Connector» (NCo3) SAP? См. Примечание SAP 856863 для ссылки на страницу загрузки и документацию.

+0

Возможно, потому, что SAP еще не опубликовала NCo3 еще в феврале 2010 года? ;) – Trixx

+0

Хм, это может быть веской причиной ...;) Но я лучше оставлю свой комментарий сейчас для людей, читающих это сегодня. – Lanzelot

+0

Хорошо, это убедительно. Один взнос от меня для вашего чувства юмора (и, конечно, правильный ответ). :) – Trixx

Смежные вопросы