1. etax-java ¼¼±Ý°è»ê¼­ ±¹¼¼Ã» ¿¬µ¿ ¸ðµâÀº?
2010³â 1¿ù ±¹¼¼Ã» ÀüÀÚ¼¼±Ý°è»ê¼­ ½ÃÇà¿¡ ¸ÂÃç ÀüÀÚ¼¼±Ý°è»ê¼­ ¾÷¹«¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â ÀÚ¹Ù ¼­ºñ½º ¾ÖÇø®ÄÉÀÌ¼Ç ÀÔ´Ï´Ù.
etax-java´Â ¼¼±Ý°è»ê¼­ »ý¼º / ÀüÀÚ¼­¸í µîÀÇ ÀÛ¾÷À» Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ À§ÀÓ ¹Þ¾Æ ¼öÇàÇÕ´Ï´Ù.
´Üµ¶ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¼öÇàÇÏ¿©, ³×Æ®¿÷À» ÅëÇØ ¹ÞÀº ÀÛ¾÷¿äûÀ» ¼öÇàÇÏ°í °á°ú¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÀ´äÇÕ´Ï´Ù.
etax-java´Â etax-javaÃø¿¡¼­ ³×Æ®¿÷À» ÅëÇÏ¿© ³ëÃâÇÑ ÀÛ¾÷À» Ç¥ÁØÀûÀÎ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© È£Ãâ/ÀÀ´äÀ» ¼ö·ÉÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ¿©, ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÀÚ¹Ù¸¦ Àû¿ë/ÀÌ¿ëÇÏÁö¾Ê´õ¶óµµ ÇØ´ç ȯ°æ(PHP, ASP...)¸¸À» ÀÌ¿ëÇÏ¿© ÀüÀÚ¼¼±Ý°è»ê¼­ ¾÷¹«¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
2. etax-java ÀüÀÚ¼¼±Ý°è»ê¼­ ¾÷¹«±¸¼º
1) ¼¼±Ý°è»ê¼­ XMLÀ» µ¥ÀÌÅÍ¿¡ ±â¹ÝÇÏ¿© »ý¼º
2) ¼¼±Ý°è»ê¼­¸¦ ¹ßÇàÀÚÀÇ ÀÎÁõ¼­·Î signing
3. ¿¬µ¿¹æ½Ä
1) Á¢±Ù¹æ½ÄÀº HTTP/POSTÀ» ÀÌ¿ëÇÏ¿© ¿äû
¿äûÁÖ¼Ò: http://${server-name}:${server-port}/invoke/
¿äûÁÖ¼Ò ¿¹Á¦: http://127.0.0.1:18080/invoke/
¾î¶² ÀÛ¾÷(method)À» ¾î¶² ÀÎÀÚ(params)·Î ¿äûÇÏ´ÂÁö HTTP/POST ÀÎÀڷμ­ Àü´Þ

2) ³»¿ëÇ¥Çö¹æ½Ä: ÀÛ¾÷¿äû½Ã ÀÎÀÚ(params) ¹× ÀÛ¾÷°á°ú°ªÀº
JSONÀ¸·Î Àü´Þ
POST form-field "params"À¸·Î JSONÀ¸·Î ÀÎÄÚµùÇÑ ÀÎÀÚ°ªÀ» Àü´Þ
HTTP¿äûÀÇ ÀÀ´äÀ¸·Î ÀÚ¹Ù ¼­¹öÃø¿¡¼­ µÇµ¹¸°
HTTP Response Message Body TextÀº JSONÀ¸·Î ÀÎÄÚµùÇÑ °á°ú°ª

3. PHP ¿¬µ¿ Å×½ºÆ®
1) PHP¿¡¼­´Â HTTPClient Class¸¦ ÀÌ¿ëÇÏ¿© etax-java¿Í HTTP/POST Åë½ÅÀ» ÇÑ´Ù.
2) ³»¿ëÇ¥Çö¹æ½ÄÀ» À§ÇÏ¿©, PHP¿¡ ³»ÀåµÈ
JSON(PHP 5.2 ÀÌ»ó)À» »ç¿ëÇÏ¿© ó¸®ÇÑ´Ù.
4. etax-java »ùÇà ¼³¸í ¹× Å×½ºÆ® Çϱâ
1) ÆÄÀÏ ±¸¼ºµµ

    index.htm : etax-java ¼³¸í
    step1.php : ¼¼±Ý°è»ê¼­ XML ÆÄÀÏ »ý¼º
    step2.php : Ŭ¶óÀÌ¾ðÆ® R Value ¹× ¼­¸íµÈ µ¥ÀÌÅÍ ÃßÃâ
    step3.php : ¼­¸íµÈ XML ÆÄÀÏ »ý¼º ¹× R value ÆÄÀÏ »ý¼º
    file_download.php : ÆÄÀÏ ´Ù¿î·Îµå
    getSignedInfo.php : step2.php ¿Í ¿¬µ¿µÇ¼­ °øÀÎÀÎÁõ¼­ 1024 ¿Í 2048 À» ±¸ºÐÇØ¼­ ¼­¸í°ª ÃßÃâ
    variables.htm : ¼¼±Ý°è»ê¼­ ÀÔ·Â º¯¼ö ¼³¸í

    inc : ȯ°æº¯¼ö ¹× ÇÔ¼ö ÆÄÀÏ µð·ºÅ丮
        HttpClient.class.php : HTTP(POST/GET) Åë½Å Ŭ·¡½º
        ServerCalls.php : ÀüÀÚ¼¼±Ý°è»ê¼­ °ü·Ã ÇÔ¼ö
        init.php : ȯ°æ ¼³Á¤ º¯¼ö

    ToolKit : ÀÎÁõ¼­ ŸŶ µð·ºÅ丮
        TSToolkitConfig.js : ÀÎÁõ¼­ ŸŶ ȯ°æ¼³Á¤ JS
        TSToolkitObject.js : ÀÎÁõ¼­ ŸŶ Object ÁöÁ¤ JS

        download : ÀÎÁõ¼­ ŸŶ ¼³Ä¡ ÆÄÀÏ µð·ºÅ丮
            TSToolkit.cab : Object¿¡¼­ ÁöÁ¤ÇÑ Cabinet ÆÄÀÏ
            TSToolkit.exe : ÀÎÁõ¼­ Ŭ¶óÀÌ¾ðÆ® ¼öµ¿ ¼³Ä¡ ÆÄÀÏ

    xmlFiles : »ý¼ºµÈ ÆÄÀÏ ÀúÀå µð·ºÅ丮. - XML, ¼­¸íµÈ XML, ÆÐÅ·, ¾Ïȣȭ, soap ¸Þ¼¼Áö µî.

2) »øÇÄ Å×½ºÆ®

    inc/init.php ÆÄÀÏÀ» ¿¡µðÅÍ·Î ¿­¾î¼­, etax-java ¼ÂÆÃ¿¡ ¸ÂÃç¼­ ȯ°æº¯¼ö ¼³Á¤À» ÇÑ´Ù.
    step1.php ÆÄÀÏÀ» ¿¡µðÅÍ·Î ¿­¾î¼­, variables.htm ¼¼±Ý°è»ê¼­ ÀÔ·Â º¯¼ö ¼³¸íÀ» ÂüÁ¶ÇÏ¿© Å×½ºÆ®ÇÒ ¼¼±Ý°è»ê¼­ Á¤º¸¸¦ ÀÔ·ÂÇÑ´Ù.
    - ´ÜÀ§Å×½ºÆ® ¹× »óÈ£¿î¿ë¼º Å×½ºÆ®¸¦ À§ÇÏ¿© Àû¾îµµ ¼¼±Ý°è»ê¼­, ¼öÁ¤¼¼±Ý°è»ê¼­ µÎ°³´Â ²À Æ÷ÇԵǾî¾ß ÇÑ´Ù.(°ø±ÞÀÚ´Â µ¿ÀÏÇÑ ¾÷ü·Î ó¸®)
    À§ÀÇ ¼³Á¤À» ¸ðµÎ ó¸®ÇÏ¿´´Ù¸é, Å×½ºÆ®¸¦ ÁøÇàÇÑ´Ù.

    step1.phpÀ» ½ÇÇàÇϸé, À§ÀÇ ¼³Á¤µ¥·Î ¼¼±Ý°è»ê¼­ XML ÆÄÀÏÀÌ »ý¼ºÀÌ µÇ°í, °ø±ÞÀÚÀÇ »ç¾÷ÀÚµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇϰí ÇÏ´ÜÀÇ [¼­¸íÇϱâ] ¹öưÀ» Ŭ¸¯Çϸé step2.php ·Î ³Ñ¾î°£´Ù.
    step2.php¿¡¼­´Â ÀÎÁõ¼­ âÀÌ ¶ß¸ç, step1.php¿¡¼­ ÀÔ·ÂÇÑ »ç¾÷ÀÚÀÇ ÀÎÁõ¼­·Î ÀÎÁõÀ» Çϸé, Ŭ¶óÀÌ¾ðÆ® R Value ¹× ¼­¸íµÈ µ¥ÀÌÅ͸¦ ÃßÃâÇØ ÁØ´Ù.
    Á¤»óÀûÀ¸·Î °ªÀÌ ÃßÃâÀÌ µÇ¸é, ÇÏ´ÜÀÇ [¼­¸íµÈ XML ¸¸µé±â] ¹öưÀ» Ŭ¸¯Çϸé step3.php·Î ³Ñ¾î°£´Ù.
    step3.php¿¡¼­´Â ÀÌÀü¿¡ ³Ñ°Ü¹ÞÀº °ªÀ¸·Î °¢°¢ÀÇ ¼­¸íµÈ XML ÆÄÀÏ, R value ÆÄÀÏ, *****.tar.gz »ý¼ºÀÌ µÇ°í, ¿©±â¿¡¼­ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖÀ¸¸ç ¹ÞÀºÆÄÀÏ·Î ÀÎÁõ±â°ü¿¡¼­ °ËÁõ¹ÞÀ» ¼ö ÀÖ´Ù.
    ** »ùÇà Å×½ºÆ® °ü·Ã ÇÁ·Î±×·¥ÇÒ ³»¿ëÀº °¢°¢ÀÇ ÆÄÀÏ ³»ºÎ¿¡ ¼³¸í ¹× ÁÖ¼®À¸·Î ó¸® µÇ¾î ÀÖÀ¸´Ï, ÇÁ·Î±×·¥ °³¹ß½Ã ÂüÁ¶ÇÏ¸é µÈ´Ù.
    ** À§ÀÇ Ã³¸®¸¸À¸·Î ÇØ´ç ¼­¹öÀÇ ÀÎÁõÀ» ó¸®ÇÒ ¼ö ÀÖÀ¸´Ï ¼³Á¤À» Àß ¸ÂÃç¼­ ÀÎÁõ ¸ÕÀú ¹ÞÀ¸¼Åµµ µË´Ï´Ù.

3) etax-java ȯ°æ ¼³Á¤ º¯¼ö ¼öÁ¤ ¹æ¹ý

    ps -ef |grep etax È®ÀÎ ÈÄ kill ¸ðµâ PID ·Î etax-java ¸ðµâÀ» Á¾·áÇÑ´Ù
    À§¿Í °°ÀÌ etax-java¸¦ Á¾·áÇÑ ÈÄ ¾Æ·¡ÀÇ È¯°æº¯¼ö¸¦ ¼öÁ¤ÇÑ´Ù.

    ±âº» °æ·Î "etax-java/bin/com/popbill/etax/"

    etax-funcs.properties ÆÄÀÏ ³»¿ëÀº ¼­¸íµÈ XML, Soap Åë½Å¿¡ »ç¿ëµÈ Àӽà ÆÄÀϵéÀÇ ÀúÀå °æ·Î°¡ ÁöÁ¤µÇ¾î ÀÖÀ¸¸ç, ³»¿ë »ùÇÃÀº ¾Æ·¡¿Í °°´Ù.

        --------------------------------------------------------------------

        send-tax.generate.tmp1-filefmt=/usr/local/etax-java/tmp/soap-msg1-%s.xml
        send-tax.generate.tmp2-filefmt=/usr/local/etax-java/tmp/soap-msg2-%s.xml

        send-tax.send-request-result.tmp1-filefmt=/usr/local/etax-java/tmp/soap-msg-req-result1-%s.xml
        send-tax.send-request-result.tmp2-filefmt=/usr/local/etax-java/tmp/soap-msg-req-result2-%s.xml

        tax-invoice-package.sign-doc.tmp1-filefmt=/usr/local/etax-java/tmp/tax-invoice-signed-%s.xml

        tax-invoice-xml.set-signature.tmp1-filefmt=/usr/local/etax-java/tmp/tax-invoice-xml--set-signature-%s.xml

        --------------------------------------------------------------------

        ÆÄÀϸíÀº ¼öÁ¤ÇÏÁö ¸»°í, °æ·Î¸¸ ¼öÁ¤ÇÑ´Ù.(¿¹) /usr/local/etax-java/tmp/ => /temp/)

4. Å×½ºÆ®Çϱâ
À§ÀÇ ¼³Á¤ ¹× ¼¼±Ý°è»ê¼­ Á¤º¸¸¦ ¼öÁ¤ÇÏ¿´´Ù¸é, Á¤º¸Åë½Å»ê¾÷ÁøÈï¿ø Ç¥ÁØÀüÀÚ¼¼±Ý°è»ê¼­ ÀÎÁõ ½Ã½ºÅÛ¿¡ Á¢¼ÓÇÏ¿©, "´ÜÀ§±â´Éº° °ËÁõ", "»óÈ£¿î¿µ¼º °ËÁõ"À» ÁøÇàÇϸ鼭 Å×½ºÆ®¸¦ ÁøÇàÇÏ¿© °ËÁõÀ» ÇÑ´Ù.

5. ÂüÁ¶
1. ÀüÀÚ¼¼±Ý°è»ê¼­ °ü·Ã Ç¥ÁØ ÀÚ·á(Á¤º¸Åë½Å»ê¾÷ÁøÈï¿ø Ç¥ÁØÀüÀÚ¼¼±Ý°è»ê¼­ ÀÎÁõ ½Ã½ºÅÛ > °Ô½ÃÆÇ > ÀÚ·á½Ç¿¡¼­ ´Ù¿î·Îµå)
    À§ÀÇ ÀÚ·á Áß °³¹ßÁöħ¼­¸¦ ÇÁ·Î±×·¥ °³¹ß½Ã ²À ÂüÁ¶ÇÑ´Ù.