5585 api 오류 수정

This commit is contained in:
hehihoho3@gmail.com 2025-12-05 12:44:06 +09:00
parent 8b8da221b3
commit d6df56b7b7
3 changed files with 291 additions and 257 deletions

View File

@ -15,95 +15,87 @@
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
try{
//기본 설정값
final String encodingType = "UTF-8";
final String boundary = "____boundary____";
//비즈 아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 bizId와 apiKey 값을 적어서 사용
//실제서비스용
final String accessKey = "3429312e6a2c732188d4cc7d15d8a1baa01d8d91"; //발급받은 api key
//테스트용
//String bizId = request.getParameter("p_bizId"); //비즈 아이디
//String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
try{
//기본 설정값
final String encodingType = "UTF-8";
final String boundary = "____boundary____";
/******************** 전송 요청 URL ********************/
//비즈 아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 bizId와 apiKey 값을 적어서 사용
//실제서비스용
final String accessKey = "3429312e6a2c732188d4cc7d15d8a1baa01d8d91"; //발급받은 api key
//테스트용
//String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
//String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
/******************** 전송 요청 URL ********************/
final String apiUrl = "http://119.193.215.98:8087/api/kakao/inqry/templates/detail"; //템플릿 상세 조회 API URL
// final String apiUrl = "http://localhost:8088/api/kakao/inqry/templates/detail"; //템플릿 상세 조회 API URL
/******************** 전송 정보 ********************/
//필수 값
String p_senderKey = request.getParameter("p_senderKey"); //발신프로필키
String p_templateCode = request.getParameter("p_templateCode"); //템플릿코드
String p_mberId = request.getParameter("p_mberId"); //발신프로필키
Map<String, String> params = new HashMap<String, String>();
System.out.println("accessKey : "+ accessKey); //비즈 아이디
System.out.println("mberId : "+ p_mberId); //비즈 아이디
System.out.println("senderKey : "+ p_senderKey); //발신프로필키
System.out.println("templateCode : "+ p_templateCode); //템플릿코드
//기본 전송 데이터
params.put("accessKey", accessKey); //비즈 아이디
params.put("mberId", p_mberId); //비즈 아이디
params.put("senderKey", p_senderKey); //발신프로필키
params.put("templateCode", p_templateCode); //템플릿코드
//REST API 전송
String result = "";
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setBoundary(boundary);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.setCharset(Charset.forName(encodingType));
try{
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
String key = i.next();
//전달값이 없는 경우 오류
try{
String value = params.get(key);
if(value != null) {
builder.addTextBody(key, value, ContentType.create("Multipart/related", encodingType));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
HttpEntity entity = builder.build();
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(apiUrl);
post.setEntity(entity);
HttpResponse res = client.execute(post);
if(res != null){
BufferedReader in = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), encodingType));
String buffer = null;
while((buffer = in.readLine())!=null){
result += buffer;
}
in.close();
}
out.print(result);
}catch(Exception e){
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
String p_senderKey = request.getParameter("p_senderKey"); //발신프로필키
String p_templateCode = request.getParameter("p_templateCode"); //템플릿코드
String p_mberId = request.getParameter("p_mberId"); //발신프로필키
/**************** 템플릿 상세 조회 Response 예제 ******************/
/* "resultCode": 결과코드, "objectList": 템플릿 상세 정보 */
/* "msg": 결과 메시지, "templateCode": 템플릿코드, "templateName": 템플릿명 */
/* "template": 템플릿 내용, "buttons": 버튼 정보, "quickReplies": 퀵 리플라이 */
Map<String, String> params = new HashMap<String, String>();
//기본 전송 데이터
params.put("accessKey", accessKey); //비즈 아이디
params.put("mberId", p_mberId); //비즈 아이디
params.put("senderKey", p_senderKey); //발신프로필키
params.put("templateCode", p_templateCode); //템플릿코드
//REST API 전송
String result = "";
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setBoundary(boundary);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.setCharset(Charset.forName(encodingType));
try{
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
String key = i.next();
//전달값이 없는 경우 오류
try{
String value = params.get(key);
if(value != null) {
builder.addTextBody(key, value, ContentType.create("Multipart/related", encodingType));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
HttpEntity entity = builder.build();
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(apiUrl);
post.setEntity(entity);
HttpResponse res = client.execute(post);
if(res != null){
BufferedReader in = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), encodingType));
String buffer = null;
while((buffer = in.readLine())!=null){
result += buffer;
}
in.close();
}
out.print(result);
}catch(Exception e){
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
/**************** 채널ID 조회 Response 예제 ******************/
/* "resultCode": 결과코드, "objectList": 채널 목록 */
/* "msg": 결과 메시지, "profileId": 프로필ID, "senderKey": 발신프로필키 */
/* "phoneNumber": 핸드폰번호, "yellowId": 채널ID, "categoryName": 카테고리명 */
%>

View File

@ -15,88 +15,86 @@
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
try{
//기본 설정값
final String encodingType = "UTF-8";
final String boundary = "____boundary____";
//비즈 아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 bizId와 apiKey 값을 적어서 사용
//실제서비스용
final String accessKey = "3429312e6a2c732188d4cc7d15d8a1baa01d8d91"; //발급받은 api key
//테스트용
//String bizId = request.getParameter("p_bizId"); //비즈 아이디
//String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
try{
//기본 설정값
final String encodingType = "UTF-8";
final String boundary = "____boundary____";
/******************** 전송 요청 URL ********************/
//비즈 아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 bizId와 apiKey 값을 적어서 사용
//실제서비스용
final String accessKey = "3429312e6a2c732188d4cc7d15d8a1baa01d8d91"; //발급받은 api key
//테스트용
//String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
//String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
/******************** 전송 요청 URL ********************/
final String apiUrl = "http://119.193.215.98:8087/api/kakao/inqry/templates/list"; //템플릿 목록 조회 API URL
// final String apiUrl = "http://localhost:8088/api/kakao/inqry/templates/list"; //템플릿 목록 조회 API URL
/******************** 전송 정보 ********************/
//필수 값
String p_senderKey = request.getParameter("p_senderKey"); //발신프로필키
String p_mberId = request.getParameter("p_mberId"); //발신프로필키
Map<String, String> params = new HashMap<String, String>();
System.out.println("accessKey : "+ accessKey);
//기본 전송 데이터
params.put("mberId", p_mberId); //비즈 아이디
params.put("accessKey", accessKey); //인증키
params.put("senderKey", p_senderKey); //발신프로필키
//REST API 전송
String result = "";
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setBoundary(boundary);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.setCharset(Charset.forName(encodingType));
try{
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
String key = i.next();
//전달값이 없는 경우 오류
try{
String value = params.get(key);
if(value != null) {
builder.addTextBody(key, value, ContentType.create("Multipart/related", encodingType));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
HttpEntity entity = builder.build();
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(apiUrl);
post.setEntity(entity);
HttpResponse res = client.execute(post);
if(res != null){
BufferedReader in = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), encodingType));
String buffer = null;
while((buffer = in.readLine())!=null){
result += buffer;
}
in.close();
}
out.print(result);
}catch(Exception e){
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
/**************** 템플릿 목록 조회 Response 예제 ******************/
/* "resultCode": 결과코드, "objectList": 템플릿 목록 */
/* "msg": 결과 메시지, "templateCode": 템플릿코드, "templateName": 템플릿명 */
/* "templateMessageType": 메시지타입, "status": 상태, "inspectionStatus": 검수상태 */
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
String p_senderKey = request.getParameter("p_senderKey"); //발신자 번호
String p_mberId = request.getParameter("p_mberId"); //수신자 번호
Map<String, String> params = new HashMap<String, String>();
//기본 전송 데이터
params.put("mberId", p_mberId); //비즈 아이디
params.put("accessKey", accessKey); //인증키
params.put("senderKey", p_senderKey); //발신프로필키
//REST API 전송
String result = "";
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setBoundary(boundary);
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.setCharset(Charset.forName(encodingType));
try{
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
String key = i.next();
//전달값이 없는 경우 오류
try{
String value = params.get(key);
if(value != null) {
builder.addTextBody(key, value, ContentType.create("Multipart/related", encodingType));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
HttpEntity entity = builder.build();
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(apiUrl);
post.setEntity(entity);
HttpResponse res = client.execute(post);
if(res != null){
BufferedReader in = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), encodingType));
String buffer = null;
while((buffer = in.readLine())!=null){
result += buffer;
}
in.close();
}
out.print(result);
}catch(Exception e){
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
/**************** 채널ID 조회 Response 예제 ******************/
/* "resultCode": 결과코드, "objectList": 채널 목록 */
/* "msg": 결과 메시지, "profileId": 프로필ID, "senderKey": 발신프로필키 */
/* "phoneNumber": 핸드폰번호, "yellowId": 채널ID, "categoryName": 카테고리명 */
%>

View File

@ -1,116 +1,160 @@
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="org.apache.http.client.entity.UrlEncodedFormEntity"%>
<%@page import="org.apache.http.client.methods.CloseableHttpResponse"%>
<%@page import="org.apache.http.HttpResponse"%>
<%@page import="org.apache.http.client.methods.HttpPost"%>
<%@page import="org.apache.http.impl.client.CloseableHttpClient"%>
<%@page import="org.apache.http.impl.client.HttpClients"%>
<%@page import="org.apache.http.message.BasicNameValuePair"%>
<%@page import="org.apache.http.NameValuePair"%>
<%@page import="java.nio.charset.StandardCharsets"%>
<%@page import="java.util.*"%>
<%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="org.apache.http.client.HttpClient"%>
<%@page import="org.apache.http.HttpEntity"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="org.apache.http.entity.ContentType"%>
<%@page import="java.nio.charset.Charset"%>
<%@page import="org.apache.http.entity.mime.HttpMultipartMode"%>
<%@page import="org.apache.http.entity.mime.MultipartEntityBuilder"%>
<%@ page import="org.apache.http.message.BasicNameValuePair" %>
<%@page import="org.apache.http.entity.StringEntity"%>
<%@page import="org.apache.http.entity.ContentType"%>
<%@page import="java.net.URLEncoder"%>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.http.impl.client.CloseableHttpClient" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page import="org.apache.http.client.entity.UrlEncodedFormEntity" %>
<%@ page import="org.apache.http.client.methods.CloseableHttpResponse" %>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
response.setCharacterEncoding("UTF-8");
try {
// ===== 고정값(실서비스는 서버 보관) =====
// ===== 전송 URL =====
// final String apiUrl = "http://119.193.215.98:8087/api/kakao/at/sendMsg";
final String apiUrl = "http://119.193.215.98:8087/api/kakao/at/sendMsg";
// final String apiUrl = "http://localhost:8088/api/kakao/at/sendMsg";
try{
//기본 설정값
final String encodingType = "UTF-8";
final String boundary = "____boundary____";
String p_mberId = request.getParameter("mberId"); //사용자 ID
String p_apiKey = request.getParameter("accessKey"); //API KEY
System.out.println("p_mberId : "+ p_mberId);
System.out.println("p_apiKey : "+ p_apiKey);
// ===== 공통 파라미터 수신 (p_* / 비접두어 둘 다 허용) =====
String senderKey = request.getParameter("p_senderKey"); if (senderKey == null) senderKey = request.getParameter("senderKey");
String templateCode = request.getParameter("p_templateCode"); if (templateCode == null) templateCode = request.getParameter("templateCode");
String callFrom = request.getParameter("p_callFrom"); if (callFrom == null) callFrom = request.getParameter("callFrom");
String subMsgSendYn = request.getParameter("p_subMsgSendYn"); if (subMsgSendYn == null) subMsgSendYn = request.getParameter("subMsgSendYn");
String testYn = request.getParameter("p_testYn"); if (testYn == null) testYn = request.getParameter("testYn");
//테스트용
//String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
//String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
System.out.println("senderKey : "+ senderKey);
/******************** 전송 요청 URL ********************/
final String apiUrl = "http://119.193.215.98:8087/api/kakao/at/sendMsg";
if (callFrom != null) callFrom = callFrom.replaceAll("\\D", ""); // 숫자만
// ===== form 구성 (x-www-form-urlencoded) =====
List<NameValuePair> form = new ArrayList<>();
form.add(new BasicNameValuePair("mberId", p_mberId));
form.add(new BasicNameValuePair("accessKey", p_apiKey));
form.add(new BasicNameValuePair("senderKey", senderKey != null ? senderKey : ""));
form.add(new BasicNameValuePair("templateCode", templateCode != null ? templateCode : ""));
form.add(new BasicNameValuePair("callFrom", callFrom != null ? callFrom : ""));
form.add(new BasicNameValuePair("subMsgSendYn", subMsgSendYn != null ? subMsgSendYn : ""));
if (testYn != null && !testYn.isEmpty()) {
form.add(new BasicNameValuePair("testYn", testYn)); // snake_case 아님
}
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
String p_mberId = request.getParameter("mberId"); //사용자 ID
String p_apiKey = request.getParameter("accessKey"); //API KEY
// ===== 수신자 인덱스 수집 (callTo_* / p_callTo_* 모두 지원) =====
Set<Integer> idxSet = new TreeSet<Integer>(); // 자동 오름차순
for (Enumeration<String> e = request.getParameterNames(); e.hasMoreElements();) {
String nm = e.nextElement();
if (nm.startsWith("callTo_")) {
try { idxSet.add(Integer.parseInt(nm.substring("callTo_".length()))); } catch(Exception ignore){}
} else if (nm.startsWith("p_callTo_")) {
try { idxSet.add(Integer.parseInt(nm.substring("p_callTo_".length()))); } catch(Exception ignore){}
Map<String, String> params = new HashMap<String, String>();
//기본 전송 데이터
params.put("mberId", p_mberId); //회원 아이디
params.put("accessKey", p_apiKey); //인증키
// ===== 공통 파라미터 수신 (p_* / 비접두어 둘 다 허용) =====
String senderKey = request.getParameter("p_senderKey"); if (senderKey == null) senderKey = request.getParameter("senderKey");
String templateCode = request.getParameter("p_templateCode"); if (templateCode == null) templateCode = request.getParameter("templateCode");
String callFrom = request.getParameter("p_callFrom"); if (callFrom == null) callFrom = request.getParameter("callFrom");
String subMsgSendYn = request.getParameter("p_subMsgSendYn"); if (subMsgSendYn == null) subMsgSendYn = request.getParameter("subMsgSendYn");
String testYn = request.getParameter("p_testYn"); if (testYn == null) testYn = request.getParameter("testYn");
if (callFrom != null) callFrom = callFrom.replaceAll("\\D", ""); // 숫자만
Map<String, String> form = new LinkedHashMap<String, String>();
form.put("mberId", p_mberId);
form.put("accessKey", p_apiKey);
form.put("senderKey", senderKey != null ? senderKey : "");
form.put("templateCode", templateCode != null ? templateCode : "");
form.put("callFrom", callFrom != null ? callFrom : "");
form.put("subMsgSendYn", subMsgSendYn != null ? subMsgSendYn : "");
if (testYn != null && !testYn.isEmpty()) {
form.put("testYn", testYn);
}
}
// ===== 인덱스별로 Postman 스타일 키 생성해 그대로 추가 =====
for (Integer idx : idxSet) {
String callTo = request.getParameter("callTo_" + idx);
if (callTo == null) callTo = request.getParameter("p_callTo_" + idx);
if (callTo == null || callTo.trim().isEmpty()) continue;
callTo = callTo.replaceAll("\\D", "");
// ===== 수신자 인덱스 수집 (callTo_* / p_callTo_* 모두 지원) =====
Set<Integer> idxSet = new TreeSet<Integer>(); // 자동 오름차순
for (Enumeration<String> e = request.getParameterNames(); e.hasMoreElements();) {
String nm = e.nextElement();
if (nm.startsWith("callTo_")) {
try { idxSet.add(Integer.parseInt(nm.substring("callTo_".length()))); } catch(Exception ignore){}
} else if (nm.startsWith("p_callTo_")) {
try { idxSet.add(Integer.parseInt(nm.substring("p_callTo_".length()))); } catch(Exception ignore){}
}
}
String title = request.getParameter("templateTitle_" + idx);
if (title == null) title = request.getParameter("p_title_" + idx);
// ===== 인덱스별로 Postman 스타일 키 생성해 그대로 추가 =====
for (Integer idx : idxSet) {
String callTo = request.getParameter("callTo_" + idx);
if (callTo == null) callTo = request.getParameter("p_callTo_" + idx);
if (callTo == null || callTo.trim().isEmpty()) continue;
callTo = callTo.replaceAll("\\D", "");
String content = request.getParameter("templateContent_" + idx);
if (content == null) content = request.getParameter("p_msgTxt_" + idx);
String title = request.getParameter("templateTitle_" + idx);
if (title == null) title = request.getParameter("p_title_" + idx);
String subTxt = request.getParameter("subMsgTxt_" + idx);
if (subTxt == null) subTxt = request.getParameter("p_subMsgTxt_" + idx);
String content = request.getParameter("templateContent_" + idx);
if (content == null) content = request.getParameter("p_msgTxt_" + idx);
form.add(new BasicNameValuePair("callTo_" + idx, callTo));
if (title != null && !title.isEmpty()) form.add(new BasicNameValuePair("templateTitle_" + idx, title));
if (content != null && !content.isEmpty()) form.add(new BasicNameValuePair("templateContent_" + idx, content));
if (subTxt != null && !subTxt.isEmpty()) form.add(new BasicNameValuePair("subMsgTxt_" + idx, subTxt));
}
String subTxt = request.getParameter("subMsgTxt_" + idx);
if (subTxt == null) subTxt = request.getParameter("p_subMsgTxt_" + idx);
form.put("callTo_" + idx, callTo);
if (title != null && !title.isEmpty()) form.put("templateTitle_" + idx, title);
if (content != null && !content.isEmpty()) form.put("templateContent_" + idx, content);
if (subTxt != null && !subTxt.isEmpty()) form.put("subMsgTxt_" + idx, subTxt);
// (선택) 서버 로그로 확인
System.out.println("form :: " + form);
}
// ===== 전송 =====
String result = "";
try (CloseableHttpClient client = HttpClients.createDefault()) {
HttpPost post = new HttpPost(apiUrl);
post.setHeader("Accept", "application/json");
post.setEntity(new UrlEncodedFormEntity(form, StandardCharsets.UTF_8));
try (CloseableHttpResponse res = client.execute(post)) {
if (res != null && res.getEntity() != null) {
try (BufferedReader in = new BufferedReader(
new InputStreamReader(res.getEntity().getContent(), StandardCharsets.UTF_8))) {
String line;
while ((line = in.readLine()) != null) result += line;
// ===== 전송 =====
String result = "";
try (CloseableHttpClient client = HttpClients.createDefault()) {
HttpPost post = new HttpPost(apiUrl);
post.setHeader("Accept", "application/json");
// form(Map)을 x-www-form-urlencoded 문자열로 변환
StringBuilder body = new StringBuilder();
for (Map.Entry<String, String> entry : form.entrySet()) {
if (body.length() > 0) {
body.append('&');
}
body.append(URLEncoder.encode(entry.getKey(), "UTF-8"))
.append('=')
.append(URLEncoder.encode(entry.getValue() != null ? entry.getValue() : "", "UTF-8"));
}
// StringEntity로 설정
StringEntity entity = new StringEntity(
body.toString(),
ContentType.APPLICATION_FORM_URLENCODED.withCharset(StandardCharsets.UTF_8)
);
post.setEntity(entity);
try (CloseableHttpResponse res = client.execute(post)) {
if (res != null && res.getEntity() != null) {
try (BufferedReader in = new BufferedReader(
new InputStreamReader(res.getEntity().getContent(), StandardCharsets.UTF_8))) {
String line;
while ((line = in.readLine()) != null) result += line;
}
}
}
}
out.print((result == null || result.isEmpty())
? "{\"data\":{\"resultCode\":99,\"msg\":\"EMPTY RESPONSE\"}}"
: result);
}catch(Exception e){
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
System.out.println(" ++ result :: "+ result);
out.print((result == null || result.isEmpty())
? "{\"data\":{\"resultCode\":99,\"msg\":\"EMPTY RESPONSE\"}}"
: result);
} catch (Exception e) {
out.print("{\"data\":{\"resultCode\":99,\"msg\":\"WRONG API METHOD\"}}");
e.printStackTrace();
}
%>
/**************** 채널ID 조회 Response 예제 ******************/
/* "resultCode": 결과코드, "objectList": 채널 목록 */
/* "msg": 결과 메시지, "profileId": 프로필ID, "senderKey": 발신프로필키 */
/* "phoneNumber": 핸드폰번호, "yellowId": 채널ID, "categoryName": 카테고리명 */
%>