WebService의 개발방법 스타일

Posted 2010. 3. 19. 16:05

1. Contract First : WSDL first, Java implements is Last
2. Contract Last : Java code first, WSDL last...

Spring-WS는 Contract First 개발형태 방식만 지원.

WSDL : Web Service Definition Language. 주로 XML문서로 표현.


Java WebService가 있는데...

http://cafe.naver.com/junes81.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2


Spring 에서 Xfire를 이용하여 WebService 구현하기

http://gtko.springnote.com/pages/4705117



스프링에서 제공하는 메일은 다양한 형태를 지원한다.
그중에 Velocity Engine을 이용하여 Template메일을 보낼수 있다.
SpringReference를 보면서 하나씩 세팅하면서 테스트 한 결과는 다음과 같다.

VelocityEngine에 대한 xml 세팅은 다음과 같다.
<bean id="velocityEngine"
  class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
  <property name="velocityProperties">
   <props>
    <prop key="resource.loader">class</prop>
    <prop key="class.resource.loader.class">
     org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
    </prop>
   </props>
  </property>
 </bean>

이렇게 선언된 velocityEngine은
<bean id="springMailSender"
  class="com.xxx.xxxx.mail.SpringMailSender" abstract="true">
  <property name="mailSender" ref="mailSender" />
  <property name="velocityEngine" ref="velocityEngine" />
 </bean>
으로 세팅하고...
본문내용은
String mailText = VelocityEngineUtils.mergeTemplateIntoString(
     velocityEngine, "com/xxx/mail/mailContent.vm",
     new HashMap());

을 이용하여 변환한 내용을 메일로 발송하는 것이다.

그런데 위의 방법은 *.vm 파일이 클래스 패스에 있어야만 파일을 찾아서 파싱할수 있다.
일반 파일로 바꾸기 위해서는 다음과 같이 변경해야 한다.
<property name="velocityProperties">
   <props>
    <prop key="resource.loader">file</prop>
    <prop key="file.resource.loader.class">org.apache.velocity.runtime.resource.loader.FileResourceLoader
    </prop>
    <prop key="file.resource.loader.path">${webapp.root}/WEB-INF/velocity</prop>
    <prop key="file.resource.loader.cache">false</prop>
   </props>
  </property>

그런데 위의 내용중에 ${webapp.root}가 있는데... 별도의 properties를 선언해서 webapp.root를 선언해야 한다. 음... 좀 거시기 하다... 귀찮기도 하고...

그래서 다시 찾아본 결과... (영어가 짧아서 자세히 읽어보지 않으면 잘 모르고 그냥 지나치곤 한다.)

<property name="resourceLoaderPath" value="WEB-INF/velocity"/>

이거 한줄이면 다 된다. ㅎㅎㅎ

암튼 짧은 영어라도 천천히 읽어보면 답이 보인다.





« PREV : 1 : ··· : 6 : 7 : 8 : 9 : 10 : 11 : NEXT »