2012. 2. 9.

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타입네임) 형태로 바꿔줘서 해결했다는.. 쩝~~