web service - 電子送件 · e-set send case cmd 2017/09/26 2 申辦業務 webservice 使用方式...
TRANSCRIPT
E-SET Send Case CMD 2017/09/26
1
Web Service - 電子送件
一、WebService 電子送件事前準備: ............................................................................................. 2
二、轉檔流程 ...................................................................................................................................... 3
三、送件前準備流程(本流程為方法二) ........................................................................................... 4
四、增益集 Command Mode ............................................................................................................ 5
五、E-SET Command Mode 程式範例及檢核項目 ........................................................................... 7
1.檢核及匯入 ............................................................................................................................... 7
2.簽章及送件(方法一) ................................................................................................................ 9
3.簽章及送件(方法二:使用 WS) ............................................................................................ 10
六、實際使用者端 UI 介面: .......................................................................................................... 14
七、請至 e 網通下載最新版 E-SET 程式或 Html2PDF 程式 .......................................................... 16
E-SET Send Case CMD 2017/09/26
2
申辦業務 WebService 使用方式
一、WebService 電子送件事前準備:
申請書 word 檔、基本資料 word 檔、軟體憑證 pfx 檔案、附件 pdf 檔案 電子送件提供兩種
方式供第三方系統介接:
方法一:使用 Command Mode(BoxCMD.exe)1方式進行送件,本方法為原 E-SET 送件方式,
可由系統直接介接,不需再透過 E-SET UI 畫面人工送件。
方法二:使用 WebService 電子送件,但相關需準備的文件尚需透過本系統所提供之「增益
集 Command Mode (MSWord2Pdf.exe)2及匯入檢核程式(BoxCMD.exe)確認相關 PDF 檔
案 已符合智慧局內容,另需利用憑證 API 進行簽章人之憑證登入及簽章。
1 使用 Command Mode(BoxCMD.exe)須先至 e 網通下載最新版之 E-SET 程式,可參閱本文第七章。 2 使用 Command Mode(MSWord2Pdf.exe)須先至 e 網通下載最新版之 Html2Pdf 程式,可參閱本文第七章。
E-SET Send Case CMD 2017/09/26
3
二、轉檔流程
申請書+基本 資料表(HTML、
WORD)
增益集 CMD
MSWord2Pdf.e xe
PDF+XML
E-SET Send Case CMD 2017/09/26
4
三、送件前準備流程(本流程為方法二)
4.WebService CaseInfoXML.xml
送件 ZIP 檔案
WS 送件介接
機制
3.進行檢核 E-SET CMD
BoxCMD.exe
使用憑證 API 進行登入、
簽章、檔案加密
2.準備簽章檔案 軟體憑證
(PFX 檔
案)
1.準備送件檔案 申請書、基本資料表、附件
(PDF 檔案) 產 Th 資料夾
工作項目 需求項目 第三方系統開發
E-SET Send Case CMD 2017/09/26
5
四、增益集 Command Mode
本功能方法一或方法二均需使用,使用者需準備撰寫完成的申請書、說明書 WORD 檔
案(依電子申請格式),依不同案件分別置放於資料夾下。在使用時,輸入之參數僅需指定資料
夾路徑,即可將資料夾下所有的 word 檔進行 PDF 轉檔作業,並將 PDF 檔輸 ft 於原目錄下。
執行程式名稱:MSWord2Pdf.exe
使用參數:
類型 參數說明 格式 指令/參數內容
輸入 資料夾路徑 String J:\upload\21.發明專利申請書
輸入 合併轉檔 String /C
輸 ft 輸 ft 結果 String XML
產 ft XML 訊息
發送端 SERVER
資料結構
版別 1.0
接收端 CLIENT 日期 2014/01/01
序號 欄位名稱 結構層次 資料屬性 範例 備註
1. RESPONSE 0 node <RESPONSE> ROOT
2. RESULT 1 node <RESULT>SUCCESS</RESULT> SUCCESS
成功/FAIL
失敗
3. CONVERT_DATATIME 1 node <CONVERT_DATATIME>2014/01/0101:01:01</CONVERT_DATATIME> 轉檔日期
4. ERRORLOG 1 node <ERRORLOG>轉檔失敗</ERRORLOG> 失敗原因
完整範例
<RESPONSE>
<RESULT>SUCCESS</RESULT>
<CONVERT_DATATIME>2014/01/01 01:01:01</CONVERT_DATATIME>
<ERRORLOG>轉檔失敗!
發明摘要欄位內容驗證開始:
【中文發明名稱】應為 100 字以內發明名稱,且不可為空白。 發明摘要欄位內容驗證結
束
</ERRORLOG>
</RESPONSE>
E-SET Send Case CMD 2017/09/26
6
程式範例:
轉檔完成後 PDF 檔案產 Th 路徑為原目的資料夾(原 word 檔案位置)
ProcessStartInfo start = new ProcessStartInfo(appDir + @"HTML2PDF\MSWord2Pdf2.exe");
start.UseShellExecute = false;
start.CreateNoWindow = true;
if (chkComb.Checked)
{
command = file + " /C"; //合併轉檔
}
else
{
command = file;
}
start.Arguments = command;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = start;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
String output = "===" + file + "===" + Environment.NewLine + proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
count++;
//寫 gLOG
richTextBox1.Text += output + Environment.NewLine;
E-SET Send Case CMD 2017/09/26
7
五、E-SET Command Mode 程式範例及檢核項目
1.檢核及匯入
本功能方法一或方法二均需使用,使用者需準備轉檔完成之 PDF 檔案包含申請書、說明
書、附件等,依不同案件分別置放於資料夾下。在使用時,輸入之參數僅需指定資料夾路徑,
即可將資料夾下所有的 PDF 檔檢核,並輸 ft 可送件之 XML 檔案及 ZIP 檔案,並將 PDF 檔
輸 ft 於原目錄下。
執行程式名稱:BoxCMD.exe 使用參數:
類型 參數說明 格式 參數內容
輸入 來源資料夾路徑 String J:\upload\21.發明專利申請書
輸入 目的資料夾路徑 String J:\upload\21.發明專利申請書
輸入 檢核及匯入 String -i
輸 ft 輸 ft 結果 String XML
指令範例
BoxCMD.exe -i J:\upload\21.發明專利申請書 J:\upload\21.發明專利申請書
產 ft XML 訊息
發送端 SERVER
資料結構
版別 1.0
接收端 CLIENT 日期 2014/01/01
序號 欄位名稱 結構層次 資料屬性 範例 備註
1. RESPONSE 0 node <RESPONSE> ROOT
2. RESULT 1 node <RESULT>SUCCESS</RESULT> SUCCESS 成功/FAIL 失
敗
3. PROCESS_DATATI
ME
1 node <PROCESS_DATATIME>2014/01/01
01:01:01</PROCESS_DATATIME>
處理時間
4. ERRORLOG 1 node <ERRORLOG>轉檔失敗</ERRORLOG> 失敗原因
完整範例
<RESPONSE>
E-SET Send Case CMD 2017/09/26
8
程式範例
於目的資料夾將會產 Th:
檔案名稱 檔案描述 檔案格式
P01017CmKOFSlHECWDiUjoysxpA.xml 送件資訊檔 Xml 檔案
P01017CmKOFSlHECWDiUjoysxpA.zip 送件 zip 檔 壓縮檔
0 送件資料夾 資料夾
<RESULT>FAIL</RESULT>
<PROCESS_DATATIME>2014/01/01 01:01:01</PROCESS_DATATIME>
<ERRORLOG>匯入失敗
附件檔案不存在!
</ERRORLOG>
</RESPONSE>
ProcessStartInfo start = new ProcessStartInfo(appDir + @"ESET\BoxCMD.exe");
start.UseShellExecute = false;
start.CreateNoWindow = true;
start.Arguments = "-i " + dir + " " + dir;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = start;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
String output = "開始檢核及匯入......" + dir + Environment.NewLine + proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
count++;
//寫 LOG
richTextBox1.Text += output + Environment.NewLine;
E-SET Send Case CMD 2017/09/26
9
2.簽章及送件(方法一)
本功能將使用「檢核\匯入」輸 ft之 ZIP 檔案及 XML 檔進行送件,另需指定軟體憑證之路徑。
執行程式名稱:BoxCMD.exe
使用參數:
類型 參數說明 格式 參數內容
輸入 資料夾路徑 String J:\upload\21.發明專利申請書
輸入 憑證路徑 String J:\xm3au6rmp4.pfx
輸入 密碼 String 1234567
輸入 簽章及送件 String -s
輸 ft 輸 ft 結果 String XML
指令範例
BoxCMD.exe -s J:\upload\21.發明專利申請書 J:\xm3au6rmp4.pfx 1234567
產 ft XML 訊息
發送端 SERVER
資料結構
版別 1.0
接收端 CLIENT 日期 2014/01/01
序
號
欄位名稱 結構層
次
資料屬性
範例
備註
1 RESPONSE 0 node <RESPONSE> ROOT
2 RESULT 1 node <RESULT>SUCCESS</RESULT> 成功/失敗
3 RECEIVER_ID 1 node <RECEIVER_ID>103T000001</RECEIVER_ID> 收件編號
4 APPL_NO 1 node <APPL_NO>103100001</APPL_NO> 申請案號
5 RDC_DOC_ID 1 node <RDC_DOC_ID>103100001-0</RDC_DOC_ID> 收文文號
6 SEND_DATATIME 1 node <SEND_DATATIME>2014/01/01
01:01:01</SEND_DATATIME>
送件日期
7 MEMO 1 Node <MEMO>備註</MEMO> 備註
8 ERRORLOG 1 node <ERRORLOG>驗章失敗</ERRORLOG> 失敗原因
完整範例
<RESPONSE>
<RESULT>SUCCESS</RESULT>
<RECEIVER_ID>103T000001</RECEIVER_ID>
<APPL_NO>103100001</APPL_NO>
<RDC_DOC_ID>103100001-0</RDC_DOC_ID>
<SEND_DATATIME>2014/01/01 01:01:01</SEND_DATATIME>
E-SET Send Case CMD 2014/09/02
10
3.簽章及送件(方法二:使用 WS)
本功能將使用「檢核\匯入」輸 ft 之 ZIP 檔案及 XML 檔,並透過 WS 進行送件。 使用「檢核
及匯入」功能產 ft:
進行下列流程
(1)驗證 WS
WS Name :TipoSendCase.wsdl
WS Function Name:VaildCase(string caseinfoXML) caseinfoXML:送件資訊檔內容擷 ft
為字串
發送端 CLIENT
資料結構
版別 1.0
接收端 SERVER 日期 2014/01/01
Funtion
名 稱
VaildCase
頁次
10 / 17
WebService http://tiponet.tipo.gov.tw/S055DMZ/services/TipoSendCase?wsdl 分區 正式區
序
號
欄位名稱
資料屬性
範例
備註
1
CaseInfoXML
String
<Tipo> <application>
<userVersion>TW-0001</userVersion> <userCaseName>21.發明專利申請書
</userCaseName> <signMethod>pki</signMethod>
<signFileName /> ……………………. ………………
………
送件資訊檔
發送端 SERVER
資料結構
版別 1.0
接收端 CLIENT 日期 2014/01/01
Funtion 名
稱 VaildSend
頁次 10 / 17
<MEMO>備註</MEMO>
<ERRORLOG>驗章失敗</ERRORLOG>
</RESPONSE>
P01017CmKOFSlHECWDiUjoysxpA.xml 送件資訊檔
P01017CmKOFSlHECWDiUjoysxpA.zip 送件 zip 檔
E-SET Send Case CMD 2017/09/26
11
WebService http://tiponet.tipo.gov.tw/S055DMZ/services/TipoSendCase?wsdl 分區 正式區
序號
欄位名稱 結構層
次
資料屬性
範例
備註
1 RESPONSE 0 node <RESPONSE> ROOT
2 RESULT 1 node <RESULT>SUCCESS</RESULT> 檢核結果
3 UUID 1 node <UUID>SFS2F3FK-0DB-0RK-4GK</UUIDD> UUID
4 ERRLOG 2 node <ERRLOG>驗證失敗</ERRLOG> 錯誤資訊
完整範例
成功回傳:
<RESPONSE>
<RESULT>SUCCESS</RESULT>
<UUID>SFS2F3FK-0DB-0RK-4GK</UUIDD>
</RESPONSE>
失敗回傳:
<RESPONSE>
<RESULT>FAIL</RESULT>
<ERRLOG>驗證失敗</ERRLOG>
</RESPONSE>
回傳之 UUID 請帶入下一支 WS
錯誤訊息請直接顯示於畫面上
E-SET Send Case CMD 2017/09/26
12
(2)送件 WS
WS Name :TipoSendCase.wsdl
WS Function Name:SendCase(string UUID, File CaseFile)
發送端 CLIENT
資料結構
版別 1.0
接收端 SERVER 日期 2014/01/01
Funtion 名稱 SendCase 頁次 12 / 17
WebService http://tiponet.tipo.gov.tw/S055DMZ/services/TipoSendCase?wsdl 分區 正式區
序
號
欄位名稱
資料屬性
範例
備註
1 UUID String F2jf0i3jf023jfokfp2okf2o3fk23of Serve 回傳 UUID
2
CaseFile
File
fileTemp file = new fileTemp();
file.fileName=檔案名稱;
file.fileType = 副檔案;
file.fileHand = 檔案的 byte;
送件 ZIP
發送端 SERVER
資料結構
版別 1.0
接收端 CLIENT 日期 2014/01/01
Funtion 名稱 SendCase 頁次 12 / 17
WebService http://tiponet.tipo.gov.tw/S055DMZ/services/TipoSendCase?wsdl 分區 正式區
序號 欄位名稱 結構層次 資料屬性 範例 備註
1. RESPONSE 0 node <RESPONSE> ROOT
2. RESULT 1 node <RESULT>SUCCESS</RESULT> 成功/失敗
3. UUID 1 node <UUID>SFS2F3FK-0DB-0RK-4GK</UUIDD> UUID
4. RECEIVER_ID 1 node <RECEIVER_ID>103T000001</RECEIVER_ID> 收件編號
5. APPL_NO 1 node <APPL_NO>103100001</APPL_NO> 申請案號
6. RDC_DOC_ID 1 node <RDC_DOC_ID>103100001-0</RDC_DOC_ID> 收文文號
7. SEND_DATATIME 1 node <SEND_DATATIME>2014/01/01
01:01:01</SEND_DATATIME>
送件日期
8. MEMO 1 node <MEMO>備註</MEMO> 備註
9. ERRORLOG 1 node <ERRORLOG>驗章失敗</ERRORLOG> 失敗原因
完整範例
成功回傳(CONTENT):
E-SET Send Case CMD 2017/09/26
13
<RESPONSE>
<RESULT>SUCCESS</RESULT>
<UUID>SFS2F3FK-0DB-0RK-4GK</UUIDD>
<CONTENT>
<ESERVICE>
<RESULT>SUCCESS</RESULT>
<MSGLIST/>
<RECEIVEDOCTIME>20140409221040</RECEIVEDOCTIME>
<RDCDOCID>1032020100-0</RDCDOCID>
<APPLYCASENO>103309024</APPLYCASENO>
</ESERVICE>
</CONTENT>
</RESPONSE>
失敗回傳(CONTENT):
<RESPONSE>
<RESULT>SUCCESS</RESULT>
<UUID> SFS2F3FK-0DB-0RK-4GK</UUIDD>
<CONTENT>
<ESERVICE>
<RESULT>FAIL</RESULT>
<MSGLIST>
<MSG>伺 o 服 A 器 1 執 Xo 行 a 發 go 生 DI 異¡±常 Ó`!IMSG[NULL]</MSG>
</MSGLIST>
</ESERVICE>
</CONTENT>
</RESPONSE>
Service 失敗回傳:
<RESPONSE>
<RESULT>FAIL</RESULT>
<ERRLOG>遠端伺服器發生異常</ERRLOG>
</RESPONSE>
E-SET Send Case CMD 2017/09/26
14
六、實際使用者端 UI 介面:
E-SET Send Case CMD 2017/09/26
15
程式範例
於目的資料夾將會產 Th:
檔案名稱 檔案描述 檔案格式
P01017CmKOFSlHECWDiUjoysxpA.xml 送件資訊檔 Xml 檔案
P01017CmKOFSlHECWDiUjoysxpA.zip 送件 zip 檔 壓縮檔
0 送件資料夾 資料夾
ProcessStartInfo start = new ProcessStartInfo(appDir + @"ESET\BoxCMD.exe");
start.UseShellExecute = false;
start.CreateNoWindow = true;
start.Arguments = "-i " + dir + " " + dir;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = start;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
String output = "開始檢核及匯入......" + dir + Environment.NewLine + proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
count++;
//寫 LOG
richTextBox1.Text += output + Environment.NewLine;
E-SET Send Case CMD 2017/09/26
16
七、請至 e 網通下載最新版 E-SET 程式或 Html2PDF 程式
參考程式(.NET C#)請至下列網址下載:
https://tiponet.tipo.gov.tw/S040/help/download055File.htm
選擇「電子送達與客戶端系統介接文件」之範例程式檔下載,下載之檔名預設為
SampleCode_WebServiceDelivery.zip 解壓縮後,會產生資料夾
SampleCode_WebServiceDelivery
執行檔目錄:
..\SampleCode_WebServiceDelivery\WebServiceDelivery\bin\Debug \WebServiceDelivery.exe
E-SET Send Case CMD 2017/09/26
17
再至 e 網通入口網站下載新電子送件系統,網址如下:
https://tiponet.tipo.gov.tw/S040/help/download045File.htm
點選後,將進入新電子下載列表,這裡可以選擇下載「PDF 轉檔工具/增益集(HTML2PDF/增
益集)」、「電子服務快遞工具(E-SET)」等等。
下載完程式包後,再解開壓縮檔案,複製 TIPOHtml2Pdf 資料夾底下的所有檔案到:
..\SampleCode_WebServiceDelivery\WebServiceDelivery\bin\Debug\Html2Pdf\
下載完程式包後,再解開壓縮檔案,複製 E-set 資料夾底下的所有檔案到:
..\SampleCode_WebServiceDelivery\WebServiceDelivery\bin\Debug\E-set\
即完成檔案更新。