기본 콘텐츠로 건너뛰기

2월, 2012의 게시물 표시

Spring.NET, NUnit 사용시 Autowire 문제

Spring.NET과 NUnit 을 이용해서 테스트를 진행할 경우, 동일한 Interface를 상속받은 객체가 여러개인 경우가 있다. 이 경우 Test Class에 Get, Set 을 만들게 되는데... Spring.NET에서는 NUnit 테스트 클래스에 DI를 할 경우 기본적으로 Type에 따른 Autowire를 이용한다. 따라서, Spring.NET에서 어떤 객체를 Set 할지를 알 수 없다는 오류를 내게 된다. 이럴때는 Test Class에 Set을 없애고, Test를 Setup 해주는 함수에 application.getObject를 이용하여 Set을 해주면 해결된다.

WCF 에서 DataTable 을 사용할 때 Table Name 문제

요즘 회사에서 WCF 서비스와 WebOrb를 이용한 플렉스 프로젝트를 진행하고 있다. 이 외에도 C++로 만들어진 서버와는 gSoap으로 통신하는 부분도 있긴 하지만... 기본적으로 WebOrb아 통신하는 부분은 크게 꼭 Generic 타입을 사용해야 할 필요도 없고, 대부분의 데이터 역시 그리드에 표시할 내용들이라 DataTable 을 이용하고 있다. 기본적으로 Data는 POJO형태의 데이터를 iBatis 를 통해 맵핑되어 넘어온 IList<어쩌구> 를  DataTable로 Convert 해주는 함수를 만들어서 쓰고 있는 형태이다. POJO에 관계없이 DataTable로 만든 함수를 이용하다 보니 갑자기 Serialize 에러가 발생하더라는... 분명히 함수만 테스트를 했을때는 아무 문제가 없었는데..  결국, WCF 의 Trace 로그를 찍어보니 쳇... DataTable에 TableName이 없단다. 쩝~~ 결국 Convert 해주는 함수의 new DataTable() 했던 부분에  new DataTable(POJO타입네임) 형태로 바꿔줘서 해결했다는.. 쩝~~