출처 : http://cafe.naver.com/sharedtalk.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=281&
SAP Rfc Function 호출을 위한 SAP .NET Connector3.0 오류 Trouble Shooting
2011-11-11
상태
ASP.NET 프로그램에서 SAP 의 로그인 체크 function 을 호출하여 현재 해당 클라이언트의 로그인 정보를 리턴 받는 로직을 구현하였습니다.
SAP .NET Connector3.0 이 나온지 얼마 되지 않았고, 로직 구현 방법도 크게 바뀌었다고 들었습니다. 최대한 간단하고 쉽게 말이죠. .NET Connector 2.0 의 많은 한계를 극복한 버전이라고 하여 영문으로 된 매뉴얼을 열심히 읽어가며 구현하게 되었습니다.
개발환경은 아래와 같습니다.
OS : | Windows Server 2008 (x64) |
IIS : | IIS 7 (Version 6) |
.NET Framework : | 3.5 |
.NET Connector : | Nco 3.0 |
development tool : | VisualStudio 2005 |
SAP : | SAP GUI 7.20 |
Figure 1 어플리케이션 단 프로그램
l Figure 1 :
n Tutorial.cs à main() 로직
n AbapConnectorClient.cs à SAP Rfc Function 호출하여 로그인 정보 체크 로직
n App.config à Rfc Function 호출할 SAP 클라이언트 정보
콘솔 응용프로그래밍 입니다. Rfc 호출 잘 됩니다^^
Figure 2 웹 사이트 프로젝트
l Figure 2 :
n MultiLoginTest.cs à SAP Rfc Function 호출하여 로그인 정보 체크 로직(어플리케이션 단 로직과 거의 같음), 결과 정보MultiLoginTest.aspx 로 넘겨줌
n MultiLoginTest.aspx à 파라미터 정보 받아서 웹 화면에 띄어줌
n web.config à Rfc Function 호출할 SAP 클라이언트 정보 및 Web configuration 정보
Figure 3 운영서버에 적용할 때 Bin폴더 안에 라이브러리 파일 삽입
현상
응용프로그래밍 프로젝트, 즉 어플리케이션 단 RFC 프로그래밍 시 정상
그러나.......
웹 사이트 프로젝트, 웹 프로그래밍으로 RFC 호출 시 에러à 아래와 같은 오류
Figure 4 오류 화면
- Invoke() 부분에서 오류 발생.
- 바인딩 오류라 생각하여 이놈이 필요한 dll파일들을 못찾아서 나는건가 싶어서 --> Web.config 설정 여러 번 변경 해봄…. 그래도 오류 발생
- 구글링 해본 결과 .NET Framework4.0 으로 업그레이드 하라고 함 à 운영상 리스크때문에 보류
결국…SAP 에 Customer Message 보내어 해결책 얻음.
원인
.NET Connector3.0 (3.0.3.0) release 버전의 버그 문제
솔루션
11월9일 Release 된 .NET Connector3.0 버그 패치 버전 (3.0.5.0) 으로 다시 설치 및 dll 파일 복사 후 적용
한달간의 삽질이 버그 문제로 판명이 되었습니다^.^
이전 버전으로 고생하고 계신 분들이 있을 까봐 공유합니다.
장원철님 도움주셔서 감사합니다.
앞으로도 도움 주고받으면서 지냈으면 좋겠습니다.
여기에 올려도 되는지 모르겠습니다.
원하시는데 옮겨주시면 감사하겠습니다^^