====== [적용 예] Integration Service ======
===== 개요 =====
[[egovframework:rte:itl:integration_service|Integration Service]] Service 를 적용해서 Best민원 설정시 웹서비스를 통해 해당 시스템과 송수신한다.
===== 설명 =====
==== 연계서비스 제공모듈 ====
=== egovframework\rte\cvpl\util\ServiceProviderRegisterCvpl.java ===
package egovframework.rte.cvpl.util;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import egovframework.rte.cvpl.service.CvplCnsltVO;
import egovframework.rte.cvpl.service.EgovCvplCnsltService;
import egovframework.rte.itl.integration.EgovIntegrationMessage;
import egovframework.rte.itl.integration.EgovIntegrationServiceProvider;
@Repository("serviceProviderRegisterCvpl")
public class ServiceProviderRegisterCvpl
implements EgovIntegrationServiceProvider
{
/** EgovCvplCnsltService */
@Resource(name = "cvplCnsltService")
private EgovCvplCnsltService cvplCnsltService;
public void service(EgovIntegrationMessage requestMessage,
EgovIntegrationMessage responseMessage)
{
Map requestBody = requestMessage.getBody();
CvplCnsltVO vo = new CvplCnsltVO();
vo.setCvplNo((String)requestBody.get("cvplNo"));
vo.setCvplSj((String)requestBody.get("cvplSj"));
vo.setCvplContents((String)requestBody.get("cvplContents"));
vo.setCvplAtch1((String)requestBody.get("cvplAtch1"));
vo.setCvplAtch2((String)requestBody.get("cvplAtch2"));
vo.setCvplOthbcCode((String)requestBody.get("cvplOthbcCode"));
vo.setOrgReceiptTime((String)requestBody.get("receiptTime"));
vo.setUserId((String)requestBody.get("userId"));
vo.setAnswerContents((String)requestBody.get("answerContents"));
vo.setAnswerAtch1((String)requestBody.get("answerAtch1"));
vo.setAnswerAtch2((String)requestBody.get("answerAtch2"));
vo.setOrgAnswerTime((String)requestBody.get("answerTime"));
vo.setAnswerUserId((String)requestBody.get("answerUserId"));
vo.setEmailYn((String)requestBody.get("emailYn"));
vo.setAdmnstmachCode((String)requestBody.get("admnstmachCode"));
vo.setBestYn((String)requestBody.get("bestYn"));
Map responseBody = new HashMap();
try {
cvplCnsltService.insertBestCvplCnslt(vo);
responseBody.put("result", true);
} catch (Exception e) {
responseBody.put("result", false);
}
responseMessage.setBody(responseBody);
}
}
==== 연계서비스 호출모듈 ====
=== egovframework\rte\cvpl\util\EgovWebServiceClientRegisterCvpl.java ===
package egovframework.rte.cvpl.util;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import egovframework.rte.cvpl.service.CvplCnsltVO;
import egovframework.rte.itl.integration.EgovIntegrationMessage;
import egovframework.rte.itl.integration.EgovIntegrationService;
import egovframework.rte.itl.webservice.EgovWebServiceContext;
public class EgovWebServiceClientRegisterCvpl
{
@Resource(name = "egovWebServiceContext")
private EgovWebServiceContext context;
private String integrationId;
/**
* @param context the context to set
*/
public void setContext(EgovWebServiceContext context)
{
this.context = context;
}
/**
* @param integrationId the integrationId to set
*/
public void setIntegrationId(String integrationId)
{
this.integrationId = integrationId;
}
public boolean registerCvpl(final CvplCnsltVO vo)
{
EgovIntegrationService service = context.getService(integrationId);
EgovIntegrationMessage requestMessage = service.createRequestMessage();
Map requestBody = new HashMap();
requestBody.put("cvplNo", vo.getCvplNo());
requestBody.put("cvplSj", vo.getCvplSj());
requestBody.put("cvplContents", vo.getCvplContents());
requestBody.put("cvplAtch1", vo.getCvplAtch1());
requestBody.put("cvplAtch2", vo.getCvplAtch2());
requestBody.put("cvplOthbcCode", vo.getCvplOthbcCode());
requestBody.put("receiptTime", vo.getOrgReceiptTime());
requestBody.put("userId", vo.getUserId());
requestBody.put("answerContents", vo.getAnswerContents());
requestBody.put("answerAtch1", vo.getAnswerAtch1());
requestBody.put("answerAtch2", vo.getAnswerAtch2());
requestBody.put("answerTime", vo.getOrgAnswerTime());
requestBody.put("answerUserId", vo.getAnswerUserId());
requestBody.put("emailYn", vo.getEmailYn());
requestBody.put("admnstmachCode", vo.getAdmnstmachCode());
requestBody.put("bestYn", vo.getBestYn());
requestMessage.setBody(requestBody);
EgovIntegrationMessage responseMessage =
service.sendSync(requestMessage);
return (Boolean)responseMessage.getBody().get("result");
}
}