·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
À¥ 2.0 ½Ã´ë¸¦ ¼±µµÇÒ¡¸ÀÚ¹Ù À¥ ¼­ºñ½º 2.0¡¹

¹ÚÈ£°æ(Ƽ¸Æ½º¼ÒÇÁÆ® À¥¼­ºñ½º Ç÷§Æû °³¹ß ´ã´ç)   2006/12/28
1ºÎ | ÇÁ·Î±×·¡¸ÓÀÇ ²ÞÀÌ Çö½Ç·Î ÆîÃÄÁú¡¸ÀÚ¹Ù 2.0ÀÇ ½Ã´ë¡¹
2ºÎ | POJO·Î µ¹¾Æ¿Â¡¸EJB 3.0°ú ÀÚ¹Ù ÆÛ½Ã½ºÅϽº API¡¹
3ºÎ | À¥ 2.0 ½Ã´ë¸¦ ¼±µµÇÒ¡¸ÀÚ¹Ù À¥ ¼­ºñ½º 2.0¡¹
4ºÎ | ¸ð¹ÙÀÏ ±â±âÀÇ ¹Ì·¡¸¦ ¿©´Â¡¸¸ð¹ÙÀÏ ÀÚ¹Ù Ç÷§Æû¡¹
5ºÎ | ¹Ì¸® º¸´Â ¹Ì·¡ °³¹ßȯ°æ¡¸ÀÚ¹ÙSE 6¡¹
Plus | ÀÚ¹Ù°³¹ßÀÚ Æä½ºÆ¼¹ú - The Power Of The Java¡¸2006 ÀÚ¹Ù¿ø ÄÁÆÛ·±½º¡¹
ÀÚ¹Ù
[Áöµð³ÝÄÚ¸®¾Æ]À¥ ¼­ºñ½º¶ó´Â ¿ë¾î°¡ À¯Çà¾îó·³ ³Î¸® ÆÛÁøÁöµµ ÀÌ¹Ì ¸î ³âÀÌ Èê·¶´Ù. ÇÏÁö¸¸ ±× ³ôÀº °ü½É¿¡ ºñÇØ Àû¿ëµµ´Â ±×´ÙÁö ³ôÁö ¾Ê¾Ò´Ù°í ¸»ÇÒ ¼ö Àִµ¥, ±× ÀÌÀ¯¿¡´Â ¿©·¯ °¡Áö°¡ ÀÖ¾ú°ÚÁö¸¸, ±× ÁßÀÇ Çϳª¸¦ ²ÅÀÚ¸é ±â¼úÀûÀÎ ¼º¼÷µµ°¡ µÇ°Ú´Ù.

¶Ç ÇÑ °¡Áö´Â ¼³Á¤ÀÇ ¾î·Á¿ò°ú °°Àº °³¹ß ÀÛ¾÷ÀÇ ³­ÇØÇÔ°ú °°Àº ¹®Á¦¸¦ µé ¼ö ÀÖ°Ú´Ù. ±â¼úÀûÀÎ ¼º¼÷µµÀÇ ¹®Á¦´Â ÇØ¸¦ °ÅµìÇØ°¡¸é¼­ »õ·Î¿î Ç¥Áذú ±â¼úµéÀ» ³»³õÀ¸¸é¼­ ¸¹ÀÌ ÇØ°áµÇ¾úÀ¸³ª, ¼³Á¤ÀÇ ¾î·Á¿ò°ú °°Àº ¹®Á¦´Â ¿©ÀüÈ÷ ³²¾Æ ÀÖ¾ú´Ù. ÇÏÁö¸¸ ÀÚ¹Ù À¥ ¼­ºñ½º 2.0À̶ó´Â »õ·Î¿î À¥ ¼­ºñ½º ¸ðµ¨Àº ÀÌ·± ¼³Á¤ÀÇ ¾î·Á¿òÀ» ÇØ°áÇÔ°ú µ¿½Ã¿¡ ¿©·¯ »õ·Î¿î ±â´ÉµéÀÌ Ãß°¡µÊÀ¸·Î½á »õ·Î¿î µµ¾àÀ» ÇÒ ¼ö ÀÖ´Â ±â¹ÝÀ» ¸¶·ÃÇÏ¿´´Ù.

¿¹Á¦¿Í ÀÚ¹Ù EE 5 ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö  
À̹ø ƯÁý¿¡ °ÔÀçµÈ »ùÇõéÀº ±âº»ÀûÀ¸·Î ÀÚ¹ÙEE 5 ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¿¡¼­ µ¿ÀÛÇÑ´Ù. »ùÇõé Áß ÀϺκп¡¼­ ƯÁ¤ º¥´õ¿¡¼­ Á¦°øÇÏ´Â ±â´ÉÀ» À§ÁÖ·Î ¼³¸íÇÑ ºÎºÐµµ ÀÖÁö¸¸ ±×·¯ÇÑ °ÍµéÀº °³¹ß ¹× ¹èÄ¡ ÀÛ¾÷ÀÇ ÆíÀÇ»ó º¥´õ¿¡¼­ Á¦°øÇÏ´Â ±â´ÉÀ» »ç¿ëÇÏ¿´À» »ÓÀÌ´Ù. ±âº»ÀûÀ¸·Î´Â JAXWS º»¿¬ÀÇ Æ¯¼ºÀ» ¼³¸íÇϴµ¥ ÀÖ¾î ¿µÇâÀ» ¹ÌÄ¡Áö´Â ¾Ê´Â´Ù. ÇöÀç ÀÚ¹ÙEE 5 ȣȯ ÀÎÁõÀ» ¼¼°è ÃÖÃÊ·Î Åë°úÇÑ Á¦¿ì½º(JEUS) 6.0 ÇÁ¸®ºä¸¦ Ȱ¿ëÇÒ ¼ö ÀÖÀ¸¸ç ½ã¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî(ÀÌÇÏ ½ã)ÀÇ ÀÚ¹ÙEE 5 SDKµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ »ç¿ëÀÚ ÆíÀǼº Ãø¸é ¶§¹®¿¡ Á¦¿ì½º 6.0¿¡ ÀϺΠÀÇÁ¸¼ºÀÌ ÀÖ´Â ³»¿ëÀÌ ÀÖÀ¸´Ï Á¦¿ì½º 6.0À» Ȱ¿ëÇÑ´Ù¸é ´õ Æí¸®ÇÒ °ÍÀÌ´Ù.



  »õ·Î¿î À¥ ¼­ºñ½º ¸ðµ¨ - ÀÚ¹Ù À¥ ¼­ºñ½º 2.0

»õ·Ó°Ô À籸¼ºµÈ ÀÚ¹ÙEE 5 À¥ ¼­ºñ½ºÀÇ °¡Àå ÇÙ½ÉÀº JAXWS 2.0ÀÌ´Ù. JAX-WS 2.0Àº À¥ ¼­ºñ½º¿¡ À־ ±âÁ¸ÀÇ JAXRPC¸¦ ´ëüÇÏ´Â ¼ö´ÜÀ¸·Î ¼³°èµÇ¾úÀ¸¸ç ÀÌÁ¦ ¸· ±× À§¿ëÀ» µå·¯³»°Ô µÇ¾ú´Ù. ÇÏÁö¸¸ ¿Ö ±âÁ¸ÀÇ JAX-RPC¶ó´Â À̸§À» ¹ö¸®°íJ AX-WS¶ó´Â À̸§À» ÅÃÇØ¾ß ÇßÀ»±î?

óÀ½¿¡´Â JAX-WS 2.0Àº JAX-RPC 2.0À̶ó´Â À̸§À» °¡Áö°í ½ÃÀ۵Ǿú°í JAX-RPC 1.1°úÀÇ ÇÏÀ§ ȣȯ¼ºÀ» Áö¿øÇϵµ·Ï ¼³°è°¡ ½ÃÀ۵Ǿú´Ù. ±×·±µ¥ °³¹ß °úÁ¤¿¡¼­ ¿©·¯ ¹®Á¦¿¡ ºÀÂøÇØ °á±¹ ÇÏÀ§ ȣȯ¼ºÀ» Æ÷±âÇϰí À̸§ ¶ÇÇÑ JAX-WS·Î ¹Ù²î°Ô µÈ °ÍÀÌ´Ù. °á±¹ JAX-RPC¿Í JAX-WS´Â ±â¼úÀûÀ¸·Î´Â ¿ÏÀüÈ÷ ´Ù¸¥ Àǹ̸¦ Áö´Ï°Ô µÇ¾ú´Ù. ÀÌ·¸°Ô ÀüÇô ´Ù¸¥ ¸ð½ÀÀ¸·Î µîÀåÇÑ JAXWSÀÇ ¹è°æ¿¡´Â JAXB 2.0ÀÇ µîÀåÀÌ ÀÖ´Ù. JAXB 2.0Àº ¸ðµç XML ½ºÅ°¸¶ ŸÀÔÀ» ¿ÏÀüÈ÷ Áö¿øÇÏ°Ô µÊÀ¸·Î½á ±âÁ¸¿¡ Á¸ÀçÇß´ø Àڹ٠ŸÀÔ°ú XML ŸÀÔ°£ÀÇ ¸ÅÇÎÀ» º¸´Ù ¸íÈ®ÇÏ°Ô Á¤ÀÇÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ±âÁ¸¿¡ JAX-RPC ½ºÆå¿¡ Á¸ÀçÇÏ´ø Àڹ٠ŸÀÔ°ú XML ŸÀÔ°£ÀÇ ¸ÅÇο¡ ´ëÇÑ ÀÇÁ¸¼ºÀ» Á¦°ÅÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ¿øµ¿·ÂÀÌ µÇ¾ú´Ù.

¿©±â¿¡´Ù SOAP 1.2 ¸Þ½ÃÁö¸¦ Á÷Á¢ ´Ù·ê ¼ö ÀÖ°Ô ÇÏ´Â SAAJ 1.3±îÁö Æ÷ÇÔÇÏ¿©, ÀÚ¹Ù À¥ ¼­ºñ½º 2.0À̶ó´Â »õ·Î¿î À¥ ¼­ºñ½º ¸ðµ¨ÀÌ µîÀåÇÏ°Ô µÈ °ÍÀÌ´Ù.


  ÀÚ¹Ù À¥ ¼­ºñ½º 2.0ÀÇ ÇÙ½É JAX-WS 2.0

¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ ÀÚ¹Ù À¥ ¼­ºñ½º 2.0Àº JAX-WS 2.0, JAXB 2.0, SAAJ 1.3À̶ó´Â ¿ÏÀüÈ÷ »õ·Î¿î ¶óÀξ÷À¸·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç À̵éÀÇ ÇÑ °¡¿îµ¥ À̹ø ÁÖÁ¦¿¡¼­ ´Ù·ç·Á°í ÇÏ´Â JAXWS 2.0ÀÌ Á¸ÀçÇÑ´Ù. ¿ì¼± ÀÚ¹Ù À¥ ¼­ºñ½º 2.0ÀÇ ÇÙ½ÉÀÎ JAXWS 2.0ÀÌ ±âÁ¸ÀÇ JAX-RPC 1.1¿¡ ºñÇØ ¾î¶»°Ô ´Þ¶óÁ³´ÂÁö Áß¿äÇÑ °Íµé À§ÁÖ·Î »ìÆìº¸ÀÚ.

JAXB 2.0ÀÇ Áö¿ø

¸ÕÀú ´«¿¡ ¶ç´Â Â÷ÀÌ´Â JAX-RPC¿¡¼­ ´ã´çÇÏ´ø XML ŸÀÔ°ú Àڹ٠ŸÀÔ°£ÀÇ ¸ÅÇΠ󸮸¦ JAXB 2.0¿¡¼­ ó¸®Çϵµ·Ï ÀÏÀÓÇÑ °ÍÀÌ´Ù. ±âÁ¸¿¡ JAX-RPC ½ºÆå¿¡¼­´Â ²¬²ô·¯¿î Àڹ٠ŸÀÔ°ú XML ŸÀÔ°£ÀÇ ¸ÅÇο¡ ´ëÇÑ Á¤ÀǸ¦ ½ºÆå ¾È¿¡ Æ÷ÇÔÇϰí ÀÖ¾ú´Ù.

ÀÌ·¯ÇÑ ÀÛ¾÷Àº JAX-RPC ½ºÆå¿¡ ÀÛÁö ¾ÊÀº ºÎ´ãÀ» ÁÖ°í ÀÖ¾ú´Ù. ÀÌ´Â JAX-RPC ½ºÆåÀÌ ¿Ï¼ºµÉ ÁîÀ½¿¡ XML ½ºÅ°¸¶¸¦ 100% Áö¿øÇÏ´Â JAXB 2.0ÀÌ Á¸ÀçÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.

JAXB 2.0ÀÌ ¿Ï¼ºµÇ¾î ¼¼»ó¿¡ ³ª¿Â ÀÌ»ó ´õ ÀÌ»ó Àڹ٠ŸÀÔ°ú XML ŸÀÔ°£ÀÇ ¸ÅÇÎÀ» Áߺ¹ÇÏ¿© Á¤ÀÇÇÒ Çʿ䰡 ¾ø°Ô µÇ¾ú´Ù.

µû¶ó¼­ Àڹ٠ŸÀÔ°ú XML ŸÀÔÀÇ ¸ÅÇÎÀº JAXB¿¡ ¸ðµÎ ¸Ã±â°Ô µÇ¾ú´Ù. ±×·Î ÀÎÇØ ¾Æ½¬¿î Á¡µµ »ý°å´Ù. ºÎ¼öÀûÀ¸·Î´Â ´õ ÀÌ»ó ¡®SOAP ÀÎÄÚµù¡¯¹æ½ÄÀÇ À¥ ¼­ºñ½º¸¦ Áö¿øÇÏÁö ¾Ê°Ô µÇ¾úÀ¸¸ç, À¥ ¼­ºñ½º °£¿¡ ÁÖ°í¹Þ´Â ¸Þ½ÃÁö´Â ¸ðµÎ XML ½ºÅ°¸¶·Î Á¤ÀǵǴ¡®Literal¡¯¹æ½ÄÀÇ À¥ ¼­ºñ½º¸¸À» Áö¿øÇϱ⠶§¹®ÀÌ´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ »ç½ÇÁ¶Â÷µµ À¥ ¼­ºñ½º ±¸Çö º¥´õ°£ÀÇ »óÈ£ ¿î¿µ¼ºÀ» ÀúÇØÇÏ´Â ÀáÀçÀûÀÎ ¿ä¼Ò¸¦ ¹Ì¿¬¿¡ Á¦°ÅÇÑ´Ù´Â »ç½ÇÀ» °í·ÁÇÏ¸é ±àÁ¤ÀûÀÎ Ãø¸éµµ ÀÖ´Ù.

¾î³ëÅ×À̼Ç(Annotation)ÀÇ È°¿ë

JAX-WS 2.0Àº JDK 1.5¿¡¼­ºÎÅÍ Áö¿øµÇ´Â ¾î³ëÅ×À̼ÇÀ» Àû±Ø Ȱ¿ëÇÏ¿© À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ®ÀÇ ÀÛ¼º°ú Ŭ¶óÀÌ¾ðÆ®¸¦ ÀÛ¼ºÇÒ ¶§, Àڹ٠ŸÀÔ°ú WSDL°£ÀÇ ¸ÅÇÎÀ» ¸í½ÃÀûÀ¸·Î Á¤ÀÇÇÒ ¼ö ÀÖ°Ô ÇÏ¿´°í À̸¦ ·±Å¸ÀÓ ½Ã¿¡µµ Ȱ¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ¿´´Ù. ¶ÇÇÑ ±âÁ¸ÀÇ J2EE 1.4 ¿£ÅÍÇÁ¶óÀÌÁî À¥ ¼­ºñ½º¸¦ »ý¼ºÇϱâ À§ÇØ ¹ø°Å·Ó°Ô ÀÛ¼ºÇؾ߸¸ Çß´ø À¥ ¼­ºñ½º ¹èÄ¡ ¼­¼úÀÚ °°Àº °ÍÀº ¸ðµÎ ¾î³ëÅ×À̼ÇÀ¸·Î ´ëü °¡´ÉÇÏ°Ô µÇ¾ú´Ù. ÀÌÁ¦²¯ ¹®Á¦½Ã µÇ¾ú´ø À¥ ¼­ºñ½º ÀÛ¼º¿¡ Á¸ÀçÇß´ø ¹ø°Å·Î¿òÀ» Å©°Ô °æ°¨½ÃÄÑÁÖ´Â Àý´ëÀûÀÎ ¿ªÇÒÀ» ÇÏ°Ô µÇ¾ú´Ù. ½ÇÁ¦·Î À¥ ¼­ºñ½º¿¡ °¡Àå Å« ÁøÀÔ À庮 ÁßÀÇ Çϳª´Â ¹«¾ùº¸´Ù ¹ø°Å·Î¿î ¼³Á¤ ÀÛ¾÷À̾úÀ¸¸ç, ÀÌ·¯ÇÑ ¾î·Á¿òÀ» ¾î³ëÅ×À̼ÇÀ» ÅëÇØ Å©°Ô ÇØ°áÇÏ°Ô µÈ °ÍÀÌ´Ù.

XML/HTTP ¹ÙÀεùÀÇ Áö¿ø

±âÁ¸ JAX-RPC¿¡¼­´Â SOAP/HTTP¸¦ ±âº»À¸·Î Áö¿øÇÏ¿´À¸³ª, JAX-WS¿¡¼­´Â SOAP ÇüÅÂÀÇ ¸Þ½ÃÁö»Ó ¾Æ´Ï¶ó XML ÇüÅÂÀÇ ¸Þ½ÃÁö ÀÚü¸¦ À¥ ¼­ºñ½º ¼ÒºñÀÚ¿Í ¼­ºñ½º °£¿¡ ÁÖ°í¹Þ¾Æ ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.

ÀÌ ¹Û¿¡µµ ¹ÙÀ̳ʸ® µ¥ÀÌÅÍÀÇ È¿°úÀûÀÎ Àü¼ÛÀ» À§ÇØ MTOM(SOAP Message Transmission Optimization Mechanism)ÀÇ Áö¿ø, À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ®¿¡¼­ÀÇ ºñµ¿±â È£Ãâ APIÀÇ Áö¿ø µîÀÇ ¸¹Àº º¯È­°¡ ÀÖÀ¸³ª ÀÌ Æ¯¼ºµéÀÇ ¼Ò°³´Â ´ÙÀ½ ±âȸ·Î ¹Ì·ç±â·Î ÇÑ´Ù.


  JAX-WS 2.0¿¡ ±â¹ÝÇÑ À¥ ¼­ºñ½ºÀÇ »ý¼º

¼­·ÐÀÌ ±æ¾ú´Ù. ±×¸¸Å­ ¸¹Àº º¯È­°¡ ÀÖ¾ú´Ù´Â ¹ÝÁõÀ̱⵵ Çѵ¥, Á÷Á¢ À¥ ¼­ºñ½º¸¦ »ý¼ºÇϰí È£ÃâÇÏ´Â ÀÛ¾÷À» ¼Ò°³ÇÏ¿© ±× ÀÌÇØ¸¦ µµ¿ï±î ÇÑ´Ù. JAX-WS 2.0¿¡¼­´Â ±âÁ¸ÀÇ J2EE 1.4 ȯ°æ¿¡¼­¿Í ¸¶Âù°¡Áö·Î µÎ °¡ÁöÀÇ À¥ ¼­ºñ½º »ý¼º ¹æ½ÄÀ» Á¦°øÇÑ´Ù. Çϳª´Â Àڹ٠Ŭ·¡½º ŸÀÔÀ¸·ÎºÎÅÍ ½ÃÀÛÇÏ´Â From Java ¹æ½ÄÀÌ°í ¶Ç ´Ù¸¥ Çϳª´Â ÀÌ¹Ì Á¤ÀǵǾî ÀÖ´Â WSDL·ÎºÎÅÍ ½ÃÀÛÇÏ´Â From WSDL ¹æ½ÄÀÌ´Ù. ÀÌ µÎ °¡Áö ¹æ½ÄÀ¸·Î À¥ ¼­ºñ½º¸¦ »ý¼ºÇϱâ À§Çؼ­´Â JAX-WS 2.0¿¡¼­ ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö ¾Ë¾Æº¸ÀÚ.

From Java ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼º

From Java ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼ºÀº ±âº»ÀûÀ¸·Î ´ÙÀ½°ú °°Àº ÀýÂ÷¸¦ µû¸¥´Ù.

1. À¥ ¼­ºñ½º ¾î³ëÅ×À̼ÇÀÌ Æ÷ÇÔµÈ ¼­ºñ½º ±¸Çö ºóÀÇ ÀÛ¼º
2. Ÿ º¥´õ°£¿¡ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°(Portable Artifact)ÀÇ »ý¼º
3. À¥ ¼­ºñ½º ÆÐŰ¡°ú ¹èÄ¡

ÀÌ¿Í °°Àº ÀýÂ÷¸¦ Á» ´õ »ìÆìº¸¸é Àü¹ÝÀûÀ¸·Î´Â ±âÁ¸ÀÇ JAXRPC ȯ°æ¿¡¼­ »ý¼ºÇÑ »êÃâ¹°À» ±â¾÷¿ë À¥ ¼­ºñ½º·Î °ø°³Çϱâ À§ÇØ ²À ÇÊ¿äÇß´ø ¹èÄ¡ ¼­¼úÀÚÀÇ ÀÛ¼º µî ¹ø°Å·Î¿î ÀÛ¾÷ÀÌ »ý·« °¡´ÉÇÏ°Ô µÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù.

¡Ü ¼­ºñ½º ±¸Çö ºó(Service Implementation Bean)ÀÛ¼º
±×·³ ¸ÕÀú ¼­ºñ½º ±¸Çö ºó(Service Implementation Bean)ÀÇ ÀÛ¼º ¹æ½ÄºÎÅÍ ¸ÕÀú »ìÆìº¸ÀÚ. ¼­ºñ½º ±¸Çö ºóÀ» ÀÛ¼ºÇÒ °æ¿ì¿¡´Â ¸î °¡ÁöÀÇ Çʼö Á¦¾à Á¶°ÇÀÌ µû¸£°Ô µÇ´Âµ¥, ÀÌ·¯ÇÑ Çʼö Á¦¾à Á¶°ÇµéÀº ´ÙÀ½°ú °°´Ù.

- javax.jws.WebService ¾î³ëÅ×À̼ÇÀ» Æ÷ÇÔ½ÃÄѼ­ ÀÌ Å¬·¡½º°¡ ¼­ºñ½º ±¸Çö ºóÀÓÀ» ¸í½ÃÇÑ´Ù.
- À¥ ¼­ºñ½º ¸Þ¼ÒµåÀÇ ÀÎÀÚ¿Í ¸®ÅÏ Å¸ÀÔÀº JAXB 2.0ÀÇ ÀÚ¹Ù¿Í XML ½ºÅ°¸¶ °£ÀÇ ¸ÅÇÎ Á¤ÀÇ¿Í È£È¯µÇ¾î¾ß ÇÑ´Ù.
- À¥ ¼­ºñ½º ¸Þ¼ÒµåÀÇ ÀÎÀÚ¿Í ¸®ÅÏ Å¸ÀÔÀº java.rmi.Remote ÀÎÅÍÆäÀ̽º¸¦ Á÷Á¢ ȤÀº °£Á¢ÀûÀ¸·Î ±¸ÇöÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.

ÀÌ¿Í °°Àº ¿ä¼Òµé ¸»°íµµ, javax.jws ÆÐŰÁö¿¡ Á¤ÀǵǾî ÀÖ´Â ¿©·¯ ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇÏ¸é ¸Þ¼ÒµåÀÇ ÀÎÀÚ¿Í ¸®ÅÏ Å¸ÀÔ, ¹ÙÀεù ¹æ½Ä µîÀÇ Ä¿½ºÅ͸¶ÀÌ¡ÀÌ °¡´ÉÇÏ´Ù. ±×·³ °£´ÜÇÑ ¿¹Á¦ Äڵ带 ÅëÇØ ½ÇÁ¦ ¼­ºñ½º ±¸Çö ºóÀÌ ¾î¶»°Ô ÀÛ¼ºµÇ¾î¾ß ÇÏ´ÂÁö »ìÆìº¸ÀÚ. <¸®½ºÆ® 1>Àº °£´ÜÇÑ À¥ ¼­ºñ½º¸¦ ±¸ÇöÇÑ Å¬·¡½ºÀÇ ¿¹ÀÌ´Ù.

 <¸®½ºÆ®1>JAX-WS 2.0ÀÇ ¼­ºñ½º ±¸Çö ºó


JAX-WS 2.0¿¡¼­´Â ±âÁ¸ Àڹ٠Ŭ·¡½º¸¦ À¥ ¼­ºñ½º·Î °ø°³ÇϱⰡ ¾ÆÁÖ ½±´Ù. <¸®½ºÆ® 1>¿¡¼­¿Í °°ÀÌ @WebService ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇÔÀ¸·Î½á ½±°Ô ±âÁ¸ Àڹ٠Ŭ·¡½º¸¦ À¥ ¼­ºñ½º·Î º¯È¯ÇÏ¿© ¸¸µé ¼ö ÀÖ´Ù. @WebService ¾î³ëÅ×ÀÌ¼Ç À̿ܿ¡µµ ºÎ°¡ÀûÀÎ À¥ ¼­ºñ½ºÀÇ ¿£µåÆ÷ÀÎÆ®µµ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. @Endpoint DescriptionÀ̶ó´Â Àڹ٠Ŭ·¡½º°¡ À¥ ¼­ºñ½º·Î ¹èÄ¡µÇ¾úÀ» °æ¿ì °ø°³µÇ´Â À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® URLÀ» ¡°HelloService¡±¿Í °°ÀÌ Æ¯Á¤ÇÑ °ªÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù(@EndpointDescription´Â Á¦¿ì½º 6.0¿¡¼­ Á¦°øÇÏ´Â ¾î³ëÅ×À̼ÇÀÌ´Ù). ÀÌ´Â ±âÁ¸ÀÇ JAXRPC¸¦ ä¿ëÇÑ J2EE 1.4 À¥ ¼­ºñ½º ȯ°æ¿¡¼­´Â web.xml°ú °°Àº ¹èÄ¡ ¼­¼úÀÚ¿¡ Ãß°¡ÀûÀÎ ¼³Á¤À» ÇØ ÁÖ¾ú¾î¾ß¸¸ °¡´É Çß´ø °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÚ¹Ù EE 5 À¥ ¼­ºñ½º ȯ°æ¿¡¼­´Â º°µµÀÇ web.xml °°Àº ¹èÄ¡ ¼­¼úÀÚ¸¦ ÀÛ¼ºÇÒ Çʿ䰡 ¾øÀ¸¸ç Ãß°¡ÀûÀÎ ¼³Á¤Àº ¾Õ¿¡¼­¿Í °°ÀÌ À¥ ¼­ºñ½º ¾î³ëÅ×À̼ÇÀ» ¼­ºñ½º ±¸Çö ºó¸¸ Ãß°¡ÇÏ¸é µÈ´Ù.

¡Ü Ÿ º¥´õ °£¿¡ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°(Portable Artifact)ÀÇ »ý¼º
¼­ºñ½º ±¸Çö ºóÀ» ÀÛ¼ºÇϰí ÄÄÆÄÀÏ ±îÁö ¼öÇàÇß´Ù¸é, JAXWS ·±Å¸ÀÓ¿¡¼­ »ç¿ëÇÒ Å¸ º¥´õ °£¿¡ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°À» »ý¼ºÇØ¾ß ÇÑ´Ù. ¿©±â¼­ Ÿ º¥´õ °£¿¡ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°À̶õ, JAXWS ½ºÆåÀ» ÁؼöÇÏ´Â ¸ðµç º¥´õ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â JAX-WS ÅøÀ» ÅëÇØ ¸¸µé¾î³½ »êÃâ¹°À» ÀǹÌÇÑ´Ù. ÀÚ¹ÙÀÇ ÆÄ¶ó¹ÌÅ͸¦ ½ÇÁ¦ WSDLÀÇ ¸Þ½ÃÁö·Î Á¤È®ÇÏ°Ô ¸ÅÇÎÇϱâ À§ÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Â Àڹ٠Ŭ·¡½º¿Í WSDL µîÀÌ ¿©±â¿¡ Æ÷ÇԵȴÙ. Á¦¿ì½º 6.0¿¡¼­´Â wsgenÀ̶ó´Â ÄÁ¼Ö ½ºÅ©¸³Æ®¸¦ Á¦°øÇϴµ¥ ÀÌ ½ºÅ©¸³Æ®´Â %JEUS_HOME%/bin µð·ºÅ丮 ¹Ø¿¡ Á¸ÀçÇÑ´Ù.

 <¸®½ºÆ® 2>JAX-WS ÅøÀ» ÀÌ¿ëÇÑ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°ÀÇ »ý¼º


<¸®½ºÆ® 2>¿Í °°ÀÌ ¸í·ÉÀ» ½ÇÇàÇϸé ÁöÁ¤ÇÑ °æ·Î¿¡ ÀÌ½Ä °¡´ÉÇÑ »êÃâ¹°ÀÌ »ý¼ºµÇ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. À§ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¶§ -wsdl ¿É¼ÇÀ» ÁÖ¸é WSDL±îÁö »ý¼ºÇÒ ¼ö ÀÖ´Ù.

JAX-WS 2.0¿¡¼­´Â À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ®¿¡ WSDLÀ» Æ÷ÇÔ½ÃŰÁö ¾Ê¾Æµµ µÇ¹Ç·Î ¿©±â¼­ -wsdl ¿É¼ÇÀ» ÁÖÁö ¸»¾Æ¾ß ÇÑ´Ù. ´ÙÀ½Àº ÀÌ »êÃâ¹°µéÀ» ¹­¾î¼­ ¼­¹ö¿¡ ¹èÄ¡ÇÏ´Â ÀÛ¾÷À» ÁøÇàÇØ º¸ÀÚ.

¡Ü À¥ ¼­ºñ½º ÆÐŰ¡°ú ¹èÄ¡
ÇöÀç ÀÛ¼ºÇϰí ÀÖ´Â À¥ ¼­ºñ½º¸¦ ÆÐŰ¡ ÇÑ´Ù´Â °ÍÀº ¼­ºñ½º ±¸Çö ºó, ¼­ºñ½º ±¸Çö ºóÀÌ ÂüÁ¶Çϰí ÀÖ´Â Àڹ٠Ŭ·¡½º¿Í ºÎ¼öÀûÀÎ ¹èÄ¡ ¼­¼úÀÚµéÀ» WAR Çü½ÄÀ¸·Î ¹­´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¿©±â¼­´Â ÀÌ¹Ì ¾Õ¿¡¼­ ÀÛ¼ºÇß´ø ÆÄÀÏÀÎ fromjava.server.Hello ServiceImpl Ŭ·¡½º¿Í wsgen ½ºÅ©¸³Æ®¸¦ ÅëÇØ »ý¼ºÇß´ø fromjava.server.jaxws.Hello, fromjava.server.jaxws.HelloResponse Ŭ·¡½º¸¸À» Æ÷ÇÔÇÏ¸é µÈ´Ù. ÀÌ Å¬·¡½ºµéÀº WEB-INF/classes ¹Ø¿¡ Æ÷ÇÔ½ÃŰ¸é µÈ´Ù. ÆÐŰ¡ ÇÒ ÆÄÀÏ À̸§À» HelloService.war·Î ÇÏ¿© WAR·Î ÆÐŰ¡ ÇÑ µÚ¿¡ Á¦¿ì½º 6.0¿¡ ¹èÄ¡ÇÏ·Á¸é, %JEUS_HOME%/webhome/deploy_home¿¡ WAR ÆÐŰ¡À» º¹»çÇØ µÎ±â¸¸ ÇÏ¸é µÈ´Ù. ±×·¯¸é ½ÇÁ¦ ÀÌ ¼­ºñ½º¸¦ È£ÃâÇÒ ¼ö ÀÖ´Â HTTP»óÀÇ ÁÖ¼Ò´Â ´ÙÀ½°ú °°ÀÌ µÈ´Ù.
http://localhost:8088/HelloService/HelloService½ÇÁ¦ ÀÌ ÁÖ¼Ò·Î À¥ ºê¶ó¿ìÀú »ó¿¡¼­ È£ÃâÇØº¸¸é <È­¸é 1>°ú °°ÀÌ ¼º°øÀûÀ¸·Î À¥ ¼­ºñ½º°¡ µÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

<È­¸é 1>¼º°øÀûÀ¸·Î ¹èÄ¡µÈ HelloService

¡Ü EJB ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½ºÀÇ »ý¼º
ÀÚ¹ÙEE À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ®´Â ¿£µåÆ÷ÀÎÆ®°¡ ±¸µ¿µÇ´Â ȯ°æ¿¡ µû¶ó ¼­ºí¸´ ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½º¿Í EJB ¿£µåÆ÷ÀÎÆ® À¥ ¼­
ºñ½º·Î ³ª´­ ¼ö ÀÖ´Ù. Áï EJB ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½º´Â À¥ ¼­ºñ½ºÀÇ ºñÁî´Ï½º ·ÎÁ÷ÀÌ ¹«»óÅ ¼¼¼Ç ºó¿¡ ±¸ÇöµÇ¾î ÀÖ´Â °æ¿ìÀÇ À¥ ¼­ºñ½º¸¦ ¸»ÇÑ´Ù. ª°Ô ÁÙ¿©¼­ EJB À¥ ¼­ºñ½º¶ó°íµµ ÇÑ´Ù.

JAX-WS 2.0¿¡¼­ÀÇ EJB À¥ ¼­ºñ½º »ý¼º ¹æ½ÄÀº ¼­ºí¸´ À¥ ¼­ºñ½ºÀÇ »ý¼º ¹æ½Ä°ú À¯»çÇÏ´Ù. <¸®½ºÆ® 3>Àº EJB ÇüÅÂÀÇ ¼­ºñ½º ±¸Çö ºóÀÌ´Ù. ¿©±â¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ @WebService ¾î³ëÅ×À̼Ǹ¸ Ãß°¡ÇÏ¸é ±âÁ¸ÀÇ ¹«»óÅ ¼¼¼Ç ºó Ŭ·¡½º°¡ À¥ ¼­ºñ½º·Î °ø°³µÉ ¼ö ÀÖ´Ù. ÀÌ´Â ±âÁ¸ÀÇ J2EE 1.4 ȯ°æ¿¡¼­ EJB À¥ ¼­ºñ½º¸¦ »ý¼ºÇϱâ À§Çؼ­ ejb-jar.xml, webservices.xml°ú °°Àº ¹èÄ¡ ¼­¼úÀÚµéÀ» ÇʼöÀûÀ¸·Î ÀÛ¼ºÇØ¾ß Çß´ø °Í¿¡ ºñÇØ¼­´Â °ý¸ñÇÒ ¸¸ÇÑ º¯È­ÀÌ´Ù.

 <¸®½ºÆ® 3>EJB À¥ ¼­ºñ½ºÀÇ ±¸Çö - HelloServiceEJB.java


ÀÌ·¸°Ô ÀÛ¼ºµÈ EJB ºó Ŭ·¡½º¸¦ ÀÏ¹Ý EJB 3.0ÀÇ ÆÐŰ¡ ¹æ½ÄÀ¸·Î ¹­¾î¼­ ¹èÄ¡ÇÏ¸é ´ÙÀ½ ÁÖ¼Ò·Î ÀÌ À¥ ¼­ºñ½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. http://localhost:8088/webservice/HelloService

<È­¸é 2>¼º°øÀûÀ¸·Î ¹èÄ¡µÈ HelloServiceEJB

From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼º

From Java ¹æ½ÄÀÇ À¥ ¼­ºñ½º ¹æ½ÄÀÌ ÀÌ¹Ì ÀÛ¼ºÇÑ ÀÚ¹Ù RPC ¸ðµ¨À» À¥ ¼­ºñ½º·Î °ø°³ÇÏ´Â °ÍÀÌ ÃÊÁ¡ÀÌ´Ù. ÇÑÆí, From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º´Â ÀÌ¹Ì ¼­·Î°£¿¡ Åë½ÅÇÒ SOAP ¸Þ½ÃÁö¸¦ ¸ÕÀú Á¤ÀÇÇϰí WSDL¸¦ ÅëÇØ ±× Á¤º¸¸¦ °øÀ¯ÇÑ µÚ¿¡ Á¤ÀÇµÈ ¸Þ½ÃÁö ŸÀÔ¿¡ ¸Âµµ·Ï Àڹ٠Ŭ·¡½º¸¦ »ý¼ºÇÏ´Â °ÍÀÌ ÃÊÁ¡À̶ó ÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀÎ From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼ºÀº ´ÙÀ½°ú °°Àº ÀýÂ÷¸¦ µû¸¥´Ù. ±×·³ ÀÌ·± ÀýÂ÷¿¡ µû¶ó¼­ Á÷Á¢ From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º¸¦ »ý¼ºÇØ º¸µµ·Ï ÇÏÀÚ.

1. ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º(Service Endpoint Interface)ÀÇ »ý¼º
2. ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö
3. À¥ ¼­ºñ½º ÆÐŰ¡°ú ¹èÄ¡

¡Ü ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º(Service Endpoint Interface)ÀÇ »ý¼º
ÀÌ °úÁ¤¿¡¼­´Â ÀÌ¹Ì °ø°³µÇ¾î ÀÖ´Â WSDLÀ» ±â¹ÝÀ¸·Î À¥ ¼­ºñ½ºÀÇ ÀÚ¹Ù ÀÎÅÍÆäÀ̽º ÆÄÀϰú ÀÚ¹Ù ÀÎÅÍÆäÀ̽º ÆÄÀÏÀÌ »ç¿ëÇÏ´Â Àڹ٠ŸÀÔ Å¬·¡½º ÆÄÀϵéÀ» »ý¼ºÇÑ´Ù. À̶§ Á¦¿ì½º 6.0¿¡¼­ Á¦°øÇÏ´Â wsimport¶ó´Â ÄÁ¼Ö ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¸é µÇ°í, ÇÊ¿äÇÑ ½ºÅ©¸³Æ®´Â %JEUS_HOME%/bin¿¡ ÀÖ´Ù.

 <¸®½ºÆ® 4>JAX-WS ÅøÀ» ÀÌ¿ëÇÑ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÇ(SEI) »ý¼º


<¸®½ºÆ® 4>¿Í °°ÀÌ ¸í·ÉÀ» ½ÇÇàÇϸé, ÁöÁ¤ÇÑ °æ·Î¿¡ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¿Í ¼­ºñ½º Á¤ÀÇ Å¬·¡½º¸¦ Æ÷ÇÔÇÑ ¿©·¯ »êÃâ¹°µéÀÌ ¸¸µé¾îÁø´Ù. ÀÌ Áß, »ý¼ºµÈ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º´Â <¸®½ºÆ® 5>¿Í °°ÀÌ º¸ÀÌ°Ô µÉ °ÍÀÌ´Ù. ÀÌ·¸°Ô »ý¼ºµÈ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º´Â JAX-WS 2.0 ·±Å¸ÀÓ¿¡ »ç¿ëµÉ Á¤º¸µéÀ» ¾î³ëÅ×ÀÌ¼Ç ÇüÅ·ΠÆ÷ÇÔÇϰí ÀÖ´Ù.

@WebService ¾î³ëÅ×À̼ÇÀº ÀÌ ÀÎÅÍÆäÀ̽º°¡ À¥ ¼­ºñ½º ¿£µå Æ÷ÀÎÆ®·Î »ç¿ëµÇ°í ÀÖÀ½À» ³ªÅ¸³»°Ô µÇ°í, @WebMethod ¾î³ëÅ×À̼ÇÀº ÀÌ ¾î³ëÅ×À̼ÇÀÌ ºÙÀº ¸Þ¼Òµå°¡ À¥ ¼­ºñ½º·Î °ø°³ µÉ ºñÁî´Ï½º ¸Þ¼ÒµåÀÓÀ» ³ªÅ¸³½´Ù. WSDL¿¡ Á¤ÀÇ µÇ¾î ÀÖ´Â ¸Þ½ÃÁöÀÇ ½ºÅ°¸¶ ŸÀÔÀº JAXB 2.0ÀÇ ÀÚ¹Ù·ÎÀÇ ¸ÅÇÎ ¹ýÄ¢¿¡ ÀÇÇØ ƯÁ¤ÇÑ Àڹ٠Ŭ·¡½º·Î »ý¼ºÀÌ µÇ¾ú´Ù. ÀÌµé ÆÄ¶ó¹ÌÅÍ¿Í ¸®ÅÏ Å¸ÀÔÀ» ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¿¡ À̾î ÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â °ÍÀÌ ¹Ù·Î @RequestWrapper¿Í @Response WrapperÀÌ´Ù.

 <¸®½ºÆ® 5>JAX-WS ÅøÀ» ÀÌ¿ëÇØ »ý¼ºÇÑ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º(SEI)


¡Ü ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö
¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º°¡ ¸¸µé¾îÁ³´Ù¸é, ´ÙÀ½ ´Ü°è´Â ÀÌ ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ½ÇÁ¦ ºñÁî´Ï½º ·ÎÁ÷À» °¡Áö°í ÀÖ´Â ¼­ºñ½º ±¸Çö ºóÀ» ÀÛ¼ºÇÏ´Â °ÍÀÌ´Ù. ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ ¼­ºñ½º ±¸Çö ºóÀ» ÀÛ¼ºÇÒ ¶§¿¡´Â @WebService ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù. ÀÌ ¾î³ëÅ×À̼ÇÀº ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ¸í½ÃÇÑ endpointInterface ¸âÅ͸¦ ¼Ó¼ºÀ¸·Î °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. <¸®½ºÆ® 6>¿¡¼­´Â ½ÇÁ¦·Î ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ ¼­ºñ½º ±¸Çö ºóÀ» º¸¿©ÁØ´Ù. ¿©±â¼­µµ @EndpointDescriptionÀ̶ó´Â ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇÏ¿© HTTP »ó¿¡ °ø°³ÇÒ ¿£µåÆ÷ÀÎÆ® URLÀ» ÀÓÀÇÀÇ °ªÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

 <¸®½ºÆ® 6>¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ ¼­ºñ½º ±¸Çö ºó


¿©±â±îÁö ÇØ¼­ ¼­ºñ½º ±¸Çö ºó±îÁö ÀÛ¼ºÇß´Ù¸é À̸¦ À¥ ¼­ºñ½º·Î °ø°³ÇÏ´Â ÀÛ¾÷À» ÁøÇàÇØº¸ÀÚ.

¡Ü À¥ ¼­ºñ½º ÆÐŰ¡°ú ¹èÄ¡
À¥ ¼­ºñ½º·Î °ø°³Çϱâ À§ÇØ WAR ÇüÅ·ΠÆÐŰ¡ ÇÏ´Â ÀÛ¾÷Àº ÀÌÀüÀÇ From Java ¹æ½ÄÀÇ À¥ ¼­ºñ½º ÆÐŰ¡ ¹× ¹èÄ¡ ÀÛ¾÷°ú À¯»çÇÏ´Ù. wsimport ½ºÅ©¸³Æ®¸¦ ÅëÇØ »ý¼ºÇÑ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ Æ÷ÇÔÇÑ ¸î °¡ÁöÀÇ »êÃâ¹°µé°ú ¼­ºñ½º ±¸Çö ºóÀ» WEB-INF/classes¿¡ µÎ°í WAR ÇüÅ·ΠÆÐŰ¡ ÇÏ¸é µÈ´Ù. À̶§ÀÇ WAR ÆÐŰÁöÀÇ À̸§À» HelloServiceTopdown.war¶ó°í ÇÏ¿´À» °æ¿ì, À̸¦ Á¦¿ì½º 6.0¿¡ ¹èÄ¡ÇÏ¸é ´ÙÀ½°ú °°Àº ÁÖ¼Ò·Î Á¢±ÙÇÒ ¼ö ÀÖ°Ô µÈ´Ù. http://localhost:8088/HelloServiceTopdown/HelloServiceTopdown
½ÇÁ¦ ÀÌ ÁÖ¼Ò·Î À¥ ºê¶ó¿ìÀú »ó¿¡¼­ È£ÃâÇÏ¸é ´ÙÀ½°ú °°ÀÌ ¼º°øÀûÀ¸·Î À¥ ¼­ºñ½º°¡ ¹èÄ¡µÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

<È­¸é 3>¼º°øÀûÀ¸·Î ¹èÄ¡µÈ From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º

Áö±Ý±îÁö From Java ¹æ½Ä°ú From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼ºÀ» JAX-WS 2.0 ȯ°æ¿¡¼­ ÁøÇàÇÏ´Â ¹æ¹ýÀ» ¿¹Á¦¿Í ÇÔ²² ¾Ë¾Æº¸¾Ò´Ù. J2EE 1.4 ȯ°æ¿¡¼­ À¥ ¼­ºñ½º ÀÛ¼º ÀÛ¾÷À» ÁøÇàÇÑ °æÇèÀÌ ÀÖ´Â µ¶ÀÚµéÀº ÀÌ ÀÛ¾÷µéÀÌ ¾ó¸¶³ª °£¼ÒÇØÁ³´ÂÁö ½±°Ô ¾Ë ¼ö ÀÖ¾úÀ» °ÍÀÌ´Ù.


  À¥ ¼­ºñ½º Ŭ¶óÀ̾ðÆ®ÀÇ ÀÛ¼º°ú À¥ ¼­ºñ½º È£Ãâ

À¥ ¼­ºñ½º¿¡ Á¢±ÙÇÏ·Á¸é ¸ÕÀú À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ®¸¦ ÀÛ¼ºÇÏ¿©¾ß ÇÑ´Ù. À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥Àº ±¸µ¿ ȯ°æ¿¡ µû¶ó ÀÚ¹ÙSE Ŭ¶óÀÌ¾ðÆ®¿Í ÀÚ¹ÙEE Ŭ¶óÀÌ¾ðÆ®·Î ±¸ºÐÇÒ ¼ö ÀÖ´Ù.

ÀÚ¹ÙSE Ŭ¶óÀÌ¾ðÆ®´Â ÀÏ¹Ý ÀÚ¹Ù ÇÁ·Î±×·¥°ú ¸¶Âù°¡Áö·Î ±¸µ¿µÇ¸ç ÀÚ¹ÙEE Ŭ¶óÀÌ¾ðÆ®´Â EJB³ª À¥ ÄÁÅ×ÀÌ³Ê °°ÀÌ ÀÚ¹ÙEE ȯ°æ¿¡¼­ ±¸µ¿µÈ´Ù´Â Ư¡ÀÌ ÀÖ´Ù. ¸ÕÀú °£´ÜÇÑ ÀÚ¹ÙSE Ŭ¶óÀ̾ðÆ®ÀÇ ÀÛ¼º¹ýºÎÅÍ »ìÆìº¸ÀÚ.

Java SE Ŭ¶óÀ̾ðÆ®ÀÇ ÀÛ¼º


JAX-WS 2.0¿¡¼­´Â ±âº»ÀûÀ¸·Î À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ®¿¡ ´ëÀÀÇÏ´Â µ¿Àû ÇÁ·Ï½Ã¸¦ ³»ºÎÀûÀ¸·Î »ý¼ºÇÏ¿© ¸¶Ä¡ À̸¦ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöüÀÎ °Íó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ °³¹ßÀÚ´Â »ý¼ºµÈ ÇÁ·Ï½Ã¸¦ ÅëÇØ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º·Î Á¤ÀÇµÈ À¥ ¼­ºñ½º ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ¿Í °°Àº ÀÛ¾÷À» ÁøÇàÇÏ·Á¸é ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¿Í °°Àº ¸î °¡ÁöÀÇ »êÃâ¹°µéÀÌ ÇÊ¿äÇÏ´Ù. À̶§ ÇÊ¿äÇÑ »êÃâ¹°µéÀ» WSDL·ÎºÎÅÍ ¸¸µé¾î ³»±â À§Çؼ­´Â From WSDL ¹æ½ÄÀÇ À¥ ¼­ºñ½º »ý¼º¿¡¼­¿Í ¸¶Âù°¡Áö·Î wsimport¶ó´Â ½ºÅ©¸³Æ® ÅøÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. <¸®½ºÆ® 7>Àº ±× »ç¿ë ¿¹ÀÌ´Ù.

 <¸®½ºÆ® 7>JAX-WS ÅøÀ» ÀÌ¿ëÇÑ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÇ(SEI) »ý¼º


¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¿Í ¼­ºñ½º Ŭ·¡½º°¡ »ý¼º µÇ¾ú´Ù¸é, ÀÌÁ¦ À̸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ® ÀÚ¹Ù ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ´Ù. <¸®½ºÆ® 8>Àº À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¡¹ÖÀÇ ÇÑ ¿¹¸¦ º¸¿©ÁØ´Ù. ÀÌ ºÎºÐÀº ±âÁ¸ JAX-RPC¿¡¼­ Á¦°øÇÏ´ø À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¡¹Ö ¿¹¿Í Èí»çÇÏ´Ù. ±âº»ÀûÀ¸·Î ¼­ºñ½º ÀνºÅϽº¸¦ »ý¼ºÇÑ ´ÙÀ½, ±× ¼­ºñ½º ÀνºÅϽº·ÎºÎÅÍ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ ÇÁ·Ï½Ã °´Ã¼¸¦ ¾ò¾î¿À´Â ÀÛ¾÷ÀÌ ÁÖ°¡ µÈ´Ù. Ŭ¶óÀÌ¾ðÆ® ·±Å¸ÀÓ ³»ºÎÀûÀ¸·Î´Â ¸¹ÀÌ ´Þ¶óÁ³Áö¸¸ ¾î·µç °ÑÀ¸·Î ºÁ¼­´Â ÀÚ¹ÙSE Ŭ¶óÀÌ¾ðÆ®¿¡¼­´Â À¯»çÇÏ´Ù°í ÇÒ ¼ö ÀÖ°Ú´Ù.

 <¸®½ºÆ® 8>HelloService¸¦ È£ÃâÇϱâ À§ÇÑ Java SE Ŭ¶óÀ̾ðÆ®


<¸®½ºÆ® 8>°ú °°ÀÌ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿´´Ù¸é ½ÇÁ¦ À̸¦ ÄÄÆÄÀÏ ÇÏ¿© ½ÇÇà½ÃÄѼ­ <¸®½ºÆ® 9>¿Í °°Àº °á°ú¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¼º°øÀûÀ¸·Î ¸¶ÃÆ´Ù¸é ´ÙÀ½À¸·Î ³Ñ¾î°¡ º¸ÀÚ.

 <¸®½ºÆ® 9>¼­ºñ½º È£Ãâ °á°ú


ÀÚ¹ÙEE Ŭ¶óÀ̾ðÆ®ÀÇ ÀÛ¼º


ÀÚ¹ÙEE´Â Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÇ ±¸µ¿ ȯ°æÀº ÀÚ¹ÙEE ȯ°æÀÌ´Ù. Å©°Ô´Â ¼­ºí¸´ ÇüÅÂÀÇ Å¬¶óÀÌ¾ðÆ®¿Í EJB ÇüÅÂÀÇ Å¬¶óÀÌ¾ðÆ®¸¦ ¿¹·Î µé ¼ö ÀÖ´Ù. J2EE 1.4 ȯ°æ¿¡¼­ÀÇ À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ®´Â web.xmlÀ̳ª ejb-jar.xml¿¡ Ç׸ñÀ» Ãß°¡ÇÏ¿© À¥ ¼­ºñ½º Ŭ¶óÀÌ¾ðÆ® ÇÁ·Ï½Ã »ý¼º¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ JNDI¿¡ µî·ÏÇÒ ¼ö ÀÖ¾ú´Ù. JAX-WS 2.0¿¡¼­´Â @WebServiceRef ¾î³ëÅ×À̼Ǹ¸ ¼³Á¤ÇÏ¸é ±×¿Í °°Àº ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. <¸®½ºÆ® 10>À» »ìÆìº¸ÀÚ.

 <¸®½ºÆ® 10>HelloService¸¦ È£ÃâÇϱâ À§ÇÑ ¼­ºí¸´ ÇÁ·Î±×·¥


<¸®½ºÆ® 8>°ú <¸®½ºÆ® 10>ÀÇ ¼Ò½º Äڵ带 ºñ±³ÇØ º¸¸é ¾Ë ¼ö ÀÖµíÀÌ µÎ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÇ ³»¿ëÀº °ÅÀÇ À¯»çÇÏ´Ù. ±âÁ¸ÀÇ J2EE 1.4 ȯ°æ¿¡¼­ÀÇ Å¬¶óÀÌ¾ðÆ® ÀÛ¼ºÇÒ ¶§¿¡´Â º°µµÀÇ ¹èÄ¡ ¼­¼úÀÚ¸¦ ÀÛ¼ºÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖ¾ú´Ù. JAX-WS 2.0¿¡¼­´Â @WebServiceRef ¾î³ëÅ×À̼ÇÀ» Ãß°¡ÇÔÀ¸·Î½á ±×·¯ÇÑ ¹ø°Å·Î¿òÀ» Å©°Ô ÁÙÀÏ ¼ö ÀÖ°Ô µÇ¾ú´Ù.

ÀÌ ¼­ºí¸´À» ±¸µ¿ÇÏ·Á¸é WAR ÇüÅ·ΠÆÐŰ¡ ÇØ¾ß Çϴµ¥, À̶§ ¼­ºí¸´¿¡ °üÇÑ Á¤º¸¸¦ Á¤ÀÇÇÏ´Â web.xmlÀÌ ÇÊ¿äÇÏ´Ù.

 <¸®½ºÆ® 11>¼­ºí¸´ À¥ ¼­ºñ½º Ŭ¶óÀ̾ðÆ®ÀÇ ¼³Á¤ -web.xml


  À¥ ¼­ºñ½º ¾î³ëÅ×À̼Ç


Áö±Ý±îÁö ±âº»ÀûÀ¸·Î À¥ ¼­ºñ½º ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇÏ¿© À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ®¸¦ »ý¼ºÇϰųª Ŭ¶óÀÌ¾ðÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýµé¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. ÀÌ·¸µí JAX-WS¿¡¼­ ¾î³ëÅ×À̼ÇÀº ±âÁ¸ÀÇ JAX-RPC ȯ°æ¿¡¼­ ¼öÇàÇØ¾ß Çß´ø ÀÛ¾÷·®À» »ó´çÈ÷ ÁÙ¿©ÁÖ´Â Áß¿äÇÑ ¿ªÇÒÀ» ´ã´çÇϰí ÀÖ´Ù. ÀÚ¹Ù¿Í WSDLÀÇ ¸ÅÇÎ ¹× Àڹ٠ŸÀÔ°ú WSDL¿¡¼­ ÂüÁ¶ÇÏ´Â ¸Þ½ÃÁöÀÇ ½ºÅ°¸¶ ŸÀÔÀ¸·ÎÀÇ ¸ÅÇÎÀ» ´ã´çÇÏ°í ½ÇÁ¦ À¥ ¼­ºñ½º ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ·±Å¸ÀÓ ÇÁ·Î¼¼½º Áß¿¡ ÇÊ¿äÇÑ Á¤º¸µéÀ» Á¦°øÇÑ´Ù. JAX-WS 2.0¿¡¼­ »ç¿ëÇÏ°Ô µÇ´Â ¾î³ëÅ×À̼ÇÀÇ Á¤ÀÇ´Â À¥ ¼­ºñ½º¿¡ ±¹ÇÑµÈ ¾î³ëÅ×À̼ÇÀÇ °æ¿ì Web Services Metadata(JSR-181) ¸í¼¼¿Í JAX-WS 2.0 ¸í¼¼¿¡ ºÐ»êµÇ¾î Á¤ÀǵǾî ÀÖ´Ù. ±× ¿Ü¿¡ ¸Þ½ÃÁöÀÇ Å¸ÀÔ ¸ÅÇÎÀ» À§ÇØ ¹ü¿ëÀûÀ¸·Î »ç¿ëµÇ´Â ¾î³ëÅ×À̼ÇÀº JAXB 2.0 ¸í¼¼¿¡ Á¤ÀǵǾî ÀÖ°í, ¸®¼Ò½º ÀÎÁ§¼Ç°ú »ý¸í Áֱ⿡ °ü·ÃµÈ ¸Þ¼Òµåµé¿¡ °ü·ÃµÈ ¾î³ëÅ×À̼ǵéÀº Ä¿¸Õ ¾î³ëÅ×À̼Ç(JSR-250)¸í¼¼¿¡ Á¤ÀǵǾî ÀÖ´Ù. ¿©±â¼­´Â ÀÌ·¯ÇÑ ¾î³ëÅ×À̼ǵé Áß À¥ ¼­ºñ½º ÇÁ·Î±×·¡¹Ö¿¡ ÀÖ¾î ÀÚÁÖ ´Ù·ç¾î Áö´Â °ÍµéÀ» À§ÁÖ·Î Á» ´õ »ó¼¼È÷ ¾Ë¾Æº¼ °ÍÀÌ´Ù. Áï À¥ ¼­ºñ½º ¸ÞŸµ¥ÀÌÅÍ ¸í¼¼¿¡ Á¤ÀÇµÈ ¾î³ëÅ×À̼ÇÀÌ ¼Ò°³µÉ ÅÙµ¥, Âü°í·Î JAX-WS 2.0°ú JAXB 2.0 ¾î³ëÅ×À̼ÇÀº À¥ ¼­ºñ½º °³¹ßÀÚ°¡ Á÷Á¢ ¼³Á¤À» ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó JAX-WS Åø¿¡ ÀÇÇØ¼­ »ý¼ºµÈ Äڵ忡 ÀÚµ¿À¸·Î »ðÀÔÀÌ µÈ´Ù.

À¥ ¼­ºñ½º ¸ÞŸµ¥ÀÌÅÍ(JSR-181) ¸í¼¼¿¡ Á¤ÀÇµÈ ¾î³ëÅ×À̼Ç

¿ø·¡ À¥ ¼­ºñ½º ¸ÞŸµ¥ÀÌÅÍ ¸í¼¼´Â ÀÚ¹ÙEE ÄÁÅ×ÀÌ³Ê È¯°æ¿¡¼­ ÀÚ¹Ù À¥ ¼­ºñ½º¿¡ ´ëÇÑ Á¤ÀǸ¦ ½±°Ô ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ Á¦¾ÈµÈ ¾î³ëÅ×À̼ÇÀ» Á¤ÀÇÇÏ´Â ¸í¼¼ÀÌ´Ù. ÀÌ ¸í¼¼´Â JAX-WS ¸í¼¼°¡ Á¤ÀǵDZâ Àü¿¡ ÀÌ¹Ì ¿Ï¼ºÀÌ µÇ¾î ÀÖ¾úÀ¸¸ç, JAX-WS¿¡¼­´Â ÀÌ ¸í¼¼¿¡ Á¤ÀÇµÈ ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇϰí ÀÖ´Ù. ¿©±â¼­ »ìÆì º¼ ¾î³ëÅ×À̼ÇÀº ´ÙÀ½°ú °°´Ù.

- javax.jws.WebService
- javax.jws.WebMethod
- javax.jws.OneWay
- javax.jws.WebParam
- javax.jws.WebResult
- javax.jws.soap.SOAPBinding

¡Ü javax.jws.WebService
@WebService ¾î³ëÅ×À̼ÇÀº ¾î³ëÅ×À̼ÇÀ» Æ÷ÇÔÇϰí ÀÖ´Â ÀÚ¹Ù ºó Ŭ·¡½º°¡ À¥ ¼­ºñ½º¸¦ ±¸ÇöÇÑ ¿£µåÆ÷ÀÎÆ® ±¸Çö ºó ȤÀº À¥ ¼­ºñ½º¸¦ Á¤ÀÇÇÑ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® ÀÎÅÍÆäÀ̽ºÀÓÀ» ¸í½ÃÇÒ ¶§ »ç¿ëÇÑ´Ù. ÀÌ ¾î³ëÅ×À̼ÇÀÌ °¡Áú ¼ö ÀÖ´Â ¼Ó¼ºÀº <Ç¥ 1>°ú °°´Ù.

<Ç¥ 1> @WebServiceÀÇ ¼Ó¼º

¡Ü javax.jws.WebMethod
@WebMethod ¾î³ëÅ×À̼ÇÀº À¥ ¼­ºñ½º ¿ÀÆÛ·¹À̼ÇÀ¸·Î °ø°³ÇÏ´Â ¸Þ¼Òµå¸¦ ¼³Á¤ÇÒ ¶§ »ç¿ëÇÑ´Ù. ÀÌ ¾î³ëÅ×À̼ÇÀÌ °¡Áú ¼ö ÀÖ´Â ¼Ó¼ºÀº <Ç¥ 2>¸¦ Âü°íÇÏÀÚ.

<Ç¥ 2> @WebMethodÀÇ ¼Ó¼º

¡Ü javax.jws.OneWay
@OneWay ¾î³ëÅ×À̼ÇÀº À¥ ¼­ºñ½º·Î °ø°³µÈ ºñÁî´Ï½º ¸Þ¼Òµå°¡ ¹Ýȯ °ªÀÌ Á¸ÀçÇÏ±â ¾Ê°í ´ÜÁö ÀÔ·Â ÆÄ¶ó¹ÌÅ͸¸ Á¸ÀçÇÒ ¶§ »ç¿ëÇÑ´Ù. @WebMethod ¾î³ëÅ×À̼ǰú ÇÔ²² »ç¿ëµÈ´Ù. À¥ ¼­ºñ½º ¸Þ¼ÒµåÀÇ ¹Ýȯ ŸÀÔÀÌ void°¡ ¾Æ´Ï°Å³ª Holder Ŭ·¡½º ŸÀÔÀÌ ÀÔ·Â À¥ ¼­ºñ½º ¸Þ¼ÒµåÀÇ ÆÄ¶ó¹ÌÅÍÀÇ Å¸ÀÔÀ¸·Î ¼³Á¤µÉ ¶§, À¥ ¼­ºñ½º ¸Þ¼Òµå°¡ Çʼö󸮿¹¿Ü(checked exception)À» ´øÁö´Â °æ¿ì¿¡´Â ÀÌ ¾î³ëÅ×À̼ÇÀ» ºÙÀÏ ¼ö ¾ø´Ù. ÀÌ ¾î³ëÅ×À̼ÇÀº º°µµÀÇ ¼Ó¼º Á¤Àǰ¡ ÇÊ¿äÇÏÁö ¾Ê´Ù.

¡Ü javax.jws.WebParam
@WebParam ¾î³ëÅ×À̼ÇÀº À¥ ¼­ºñ½º ÀÚ¹Ù ¸Þ¼ÒµåÀÇ ÀÔ·Â ÆÄ¶ó¹ÌÅÍ¿Í WSDL ÆÄÀÏ¿¡¼­ ÆÄ¶ó¹ÌÅ͸¦ Ç¥Çö ÇÏ´Â XML ¿¤¸®¸ÕÆ® °£ÀÇ ¸ÅÇÎÀ» ¼³Á¤ÇÏ¸ç ÆÄ¶ó¹ÌÅÍÀÇ µ¿ÀÛ Æ¯¼ºµµ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. <Ç¥ 3>°ú °°Àº ¼Ó¼ºÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

<Ç¥ 3> @WebParamÀÇ ¼Ó¼º

¡Ü javax.jws.WebResult
@WebResult ¾î³ëÅ×À̼ÇÀº À¥ ¼­ºñ½º·Î °ø°³µÇ´Â ÀÚ¹Ù ¸Þ¼ÒµåÀÇ ¹Ýȯ °ª°ú WSDLÀÇ ¹Ýȯ °ªÀ» Ç¥ÇöÇÏ´Â XML ¿¤¸®¸ÕÆ® °£ÀÇ ¸ÅÇÎÀ» ¼³Á¤ÇÑ´Ù. <Ç¥ 4>¿Í °°Àº ¼Ó¼ºÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

<Ç¥ 4> @WebResultÀÇ ¼Ó¼º

¡Ü javax.jws.soap.SOAPBinding
@SOAPBinding ¾î³ëÅ×À̼ÇÀº °³¹ßÀÚ°¡ À¥ ¼­ºñ½ºÀÇ SOAP ¹ÙÀεùÀ» ¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. JAX-WS¿¡¼­´Â JAX-RPC¿¡¼­ Áö¿øµÇ¾ú´ø RPC/ENCODED ¹æ½ÄÀº ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â´Ù. Áï °¡´ÉÇÑ Á¶ÇÕÀº RPC/LITERAL, DOCUMENT/LITERAL WRAPPED, DOCUMENT/LITERAL BAREÀ§ ¼¼ °¡Áö ŸÀÔÀÌ´Ù. RPC/LITERAL ŸÀÔÀº À¥ ¼­ºñ½º ¸Þ¼Òµå À̸§¿¡¼­ À¯ÃßµÈ À̸§À» °¡Áö°í SOAP ¿äû/ÀÀ´ä ¸Þ½ÃÁöÀÇ ÆÄ¶ó¹ÌÅÍ ºÎºÐÀ» Çѹø °¨½Î°Ô µÈ´Ù. ÀÌ·¯ÇÑ ¸Þ½ÃÁö ÇüÅÂÀÇ »ý¼ºÀº SOAPBinding¿¡ À־ÀÇ ÇϳªÀÇ ¾à¼ÓÀÌ´Ù. ±×¿¡ ¹ÝÇØ DOCUMENT/LITERAL ¹æ½ÄÀº WSDL¿¡¼­ ¸Þ½ÃÁöÀÇ ÇüŸ¦ ½ºÅ°¸¶ ŸÀÔÀ¸·Î ¿ÏÀüÈ÷ Á¤ÀÇÇÑ´Ù. Áï SOAP ¹Ùµð ³»ºÎÀÇ ¸ðµç ¸Þ½ÃÁö´Â WSDL³»ºÎÀÇ ½ºÅ°¸¶¿¡ Á¤ÀÇµÈ Å¸ÀÔÀÇ ÇüÅ·θ¸ ¸¸µé¾î Áú ¼ö ÀÖ´Ù. <Ç¥ 5>´Â @SOAPBindingÀÇ ¼Ó¼ºÀ» ³ªÅ¸³½´Ù.

<Ç¥ 5> @SOAPBindingÀÇ ¼Ó¼º



  ¿¹Á¦ÀÇ »ç¿ë

ÀÌÁ¦±îÁö ¼³¸íµÈ ¸ðµç »ùÇÃÀº ÀÌ¹Ì ¼³¸íÇÑ ´ë·Î wsgenÀ̳ª wsimport¿Í °°Àº ½ºÅ©¸³Æ® Åø·Î ÇÊ¿äÇÑ »êÃâ¹°À» »ý¼ºÇϰí, Á÷Á¢ WAR³ª JAR ÇüÅ·ΠÆÐŰ¡ ÇÏ¿© µ¿ÀÏÇÏ°Ô ½ÇÇàÇØ º¼ ¼öµµ ÀÖ´Ù. ´õºÒ¾î µ¶ÀÚµéÀÇ ÆíÀǸ¦ À§ÇØ ant Åø·Î ½ÇÇà ÇÒ ¼ö ÀÖµµ·Ï º°µµ·Î ÀÛ¼ºÇÏ¿© ÷ºÎÇÏ¿´´Ù. ÀÌ ¿¹Á¦µéÀ» ½ÇÇà ½ÃŰ·Á¸é ´ÙÀ½°ú °°ÀÌ À¥ ¼­ºñ½º ¿£µåÆ÷ÀÎÆ® Á¾·ù¿¡ µû¶ó <¸®½ºÆ® 12> <¸®½ºÆ® 13><¸®½ºÆ® 14>¿Í °°ÀÌ ½ÇÇàÇÏ¸é µÈ´Ù.

 <¸®½ºÆ® 12>From Java ¹æ½ÄÀÇ ¼­ºí¸´ ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½º ¿¹Á¦


 <¸®½ºÆ® 13>From Java ¹æ½ÄÀÇ EJB ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½º ¿¹Á¦


 <¸®½ºÆ® 14>From WSDL ¹æ½ÄÀÇ ¼­ºí¸´ ¿£µåÆ÷ÀÎÆ® À¥ ¼­ºñ½º ¿¹Á¦


ÀÌÁ¦±îÁö JAX-WS 2.0 ȯ°æ¿¡¼­ÀÇ °£´ÜÇÑ À¥ ¼­ºñ½º¸¦ »ý¼ºÇϰí È£ÃâÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ »ìÆìº¸¾Ò´Ù. ¿©±â¿¡ Æ÷ÇÔµÈ ¿¹Á¦¿Í ¼³¸íÀº °¡Àå ±âº»ÀûÀÎ ³»¿ëÀ» ´Ù·ç°í ÀÖÀ¸¸ç ÀÌ ¿Ü¿¡µµ JAXWS 2.0¿¡´Â ¸¹Àº Ư¼ºµéÀÌ ÀÖ´Ù. ÇÏÁö¸¸ °¡Àå ÀüÇüÀû¸é¼­µµ ÀϹÝÀûÀÎ À¥ ¼­ºñ½º ¿¹Á¦¸¦ ´Ù·ç¸ç ¼³¸íÇÏ¿´À¸´Ï, ¾ÕÀ¸·Î JAXWS 2.0À» ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹ÖÀÇ ±âȸ°¡ Àְųª ÀÌÁ¦ ¸· À¥ ¼­ºñ½º¸¦ ½ÃÀÛÇÏ·Á´Â µ¶ÀÚ¿¡°Ô µµ¿òÀÌ µÇÁö ¾Ê¾ÒÀ»±î ÇÑ´Ù.

¸î ³â ÀüºÎÅÍ º¯È­¿Í ÁøÈ­¸¦ °ÅµìÇØ¿Â À¥ ¼­ºñ½º´Â ±â¼úÀûÀÎ ¸é¿¡¼­ ÀÌ¹Ì °ý¸ñÇÒ ¸¸ÇÑ ¼ºÀåÀ» ÀÌ·ç¾úÁö¸¸ ¿©ÀüÈ÷ ÁøÇàÇüÀÌ´Ù.

¶ÇÇÑ ÇöÀç ±¤Ç³Ã³·³ ¹Ð¾î ´ÚÄ¡°í ÀÖ´Â SOA(Service Oriented Architecture)¿Í ESB(Enterprise Service Bus)ÀÇ ¿¬°ü ±â¼ú·Îµµ Å« °ü½ÉÀ» ²ø°í ÀÖ´Ù. À̴ ǥÁØ¿¡ ±â¹ÝÇÑ À¥ ¼­ºñ½º¶ó´Â ±â¼úÀÌ ±× ¸¸Å­ Ȱ¿ëµµ°¡ ³Ð´Ù´Â ¹ÝÁõÀÏ °ÍÀÌ´Ù. ¾ÕÀ¸·Îµµ ´õ Å« ¹ßÀüÀÌ ±â´ëµÇ°í ÀÖ´Â À¥ ¼­ºñ½º ºÐ¾ß¿¡ JAX-WS 2.0ÀÌ ÁÁÀº ÁøÀԷΰ¡ µÇ¾îÁÖ±æ Èñ¸ÁÇϸ鼭 À̸¸ ¸¶¹«¸® ÇÒ±î ÇÑ´Ù. @

Âü°í ÀÚ·á:
1. Java EE 5 ¾È³»¼­ - http://java.sun.com/javaee/5/docs/tutorial/doc/
2. Java EE À¥ ¼­ºñ½º ¼Ò°³ ¸µÅ© -http://java.sun.com/javaee/technologies/webservices/
3. JSR 181(Web Services Metadata for the Java Platform) ¸í¼¼ -http://www.jcp.org/en/jsr/detail?id=181
4. JSR 224(JAX-WS) ¸í¼¼ - http://www.jcp.org/en/jsr/detail?id=224
5. JSR 222(JAXB) ¸í¼¼ - http://www.jcp.org/en/jsr/detail?id=222
6. JSR 250(Common Annotations) ¸í¼¼ - http://www.jcp.org/en/jsr/detail -id=250
7. Tmaxsoft ȨÆäÀÌÁö - http://www.tmax.co.kr
8. Java EE 5 SDK - http://java.sun.com./javaee
9. GlassFish ÇÁ·ÎÁ§Æ® - https://glassfish.dev.java.net/
10. JAX-WS ÇÁ·ÎÁ§Æ® - https://jax-ws.dev.java.net/


* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
°ü·Ã±â»ç
À¥ÀÇ ÁøÈ­ ¾îµð±îÁö ¿Ô³ª?
ÀÚÀ̺ê,¡¸À¥ 2.0¡¹±¸Çö Çù¾÷ ¼ÒÇÁÆ®¿þ¾î °³¹ß Áß
XP °³¹ßÀ» À§ÇÑ °³¹ß »ý»ê¼º Çâ»ó ÆÄ³ë¶ó¸¶
½ã, µ¥½ºÅ©Åé À§ÇÑ ÀÚ¹Ù Ç÷§Æû¡¸ÀÚ¹Ù SE 6¡¹Á¦°ø
¿ÀÇ ¼Ò½º ¶óÀ̺귯¸® Ȱ¿ë
°³¹ß »ý»ê¼º Çâ»óÀ» À§ÇÑ Á¶¾ð
¡¸¼ÒÇÁÆ®¿þ¾î Ç÷§Æû¡¹°ø°³ - ¹Ì·¡ Çõ½ÅÀÇ Å°¿öµå
±¹³» ù¡¸¿ÀǼҽº °³¹ß ÇÁ·ÎÁ§Æ®¡¹Winter of Code Á¡È­!
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE °³¹ßÅø¿¡ °üÇÑ 12°¡Áö...
[¿ÀÇÂÀÎÅͺä]Àè Äá HTCºÎ»çÀå "½º¸¶Æ®Æù ½ÃÀå °³Ã´, Áö±ÝÀÌ Àû±â" [00:17:38]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
[»ï¼º ¿½ ½ºÅ丮-¨è]'P2 DMB' °ÑÆ÷Àå, Æò¹üÄ¡ ¾ÊÀº ÀÌÀ¯ ÀÖ¾ú³× [00:10:13]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...