invoker.jsp
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page language="java" import="java.io.*, java.util.*, java.net.*" %>
<%@ page language="java" import="m2soft.ers.invoker.InvokerException" %>
<%@ page language="java" import="m2soft.ers.invoker.http.ReportingServerInvoker" %>
<%
ReportingServerInvoker invoker = new ReportingServerInvoker("http://localhost:8080/ReportingServer/service"); //ReportingServer url 변경
invoker.setCharacterEncoding("euc-kr"); //인코딩 설정
invoker.setReconnectionCount(5); //접속시도
invoker.setConnectTimeout(180); //초를 의미함(생성 요청하고 response 3분동안 기다린다.)
invoker.setReadTimeout(180); //Connection 연결 후 패킷전송이 없는 경우 3분동안 기다린다. 이 시간을 늘린다고 해서 생성된 스레드가 180초를 대기하는게 아니고 리턴이 빨리오면 스레드는 사라진다.
invoker.addParameter("opcode", "500"); //500 : 파일 저장 기능 동작
invoker.addParameter("mrd_path", "sample.mrd"); //MRD 경로
invoker.addParameter("mrd_param", "/rfn [sample.txt]"); //파라미터
invoker.addParameter("mrd_data", ""); //XML데이터의 CDATA를 처리할 때 사용한다. 주의점은 mrd_param도 반드시 같이 사용해야 한다.
invoker.addParameter("export_type", "pdf"); //pdf 로 저장 (다른 export type도 가능. jpg, png, xls 등)
invoker.addParameter("export_name", "test.pdf"); //파일명을 적용하고싶을 경우 사용
invoker.addParameter('export_path','./bb');
invoker.addParameter("protocol", "sync");
try
{
String responseString = invoker.invoke();
System.out.println(responseString);
if(responseString.startsWith("1")){
out.println(responseString);
}
else {
out.println(responseString);
}
}
catch(InvokerException e)
{
e.printStackTrace();
}
%>
invoker.html
<!DOCTYPE html>
<html style="margin: 0; height: 100%">
<head>
<meta charset="utf-8">
<title>Crownix ReportingServer Invoker</title>
<script src="../../js/invoker/crownix-invoker.min.js"></script>
<script>
window.onload = function(){
var invoker = new m2soft.crownix.ReportingServerInvoker('http://localhost:8080/ReportingServer/service');
invoker.addParameter('opcode', '500');
invoker.addParameter('mrd_path', 'sample.mrd');
invoker.addParameter('mrd_param', '/rfn [sample.txt]');
invoker.addParameter('export_type', 'pdf');
invoker.addParameter('export_path', './gg');
invoker.addParameter('export_name', 'sample_test.pdf');
invoker.addParameter('protocol', 'async');
//invoker.addParameter('delete_file', 'false');
invoker.invoke(function(response, xhr) {
document.getElementById('response').innerText = response;
});
};
</script>
</head>
<body style="margin: 0; height: 100%">
<div id="response" style="position:absolute; width:100%; height:100%;">
</div>
</body>
</html>