From d1aaff22aced9bdeb5293598c37b55939e9d7c29 Mon Sep 17 00:00:00 2001 From: cho Date: Thu, 19 Feb 2026 15:53:43 +0900 Subject: [PATCH] =?UTF-8?q?body=EC=A0=84=EB=AC=B8=20=EC=97=86=EB=8A=94=20v?= =?UTF-8?q?ariablepath=20=EB=B0=8F=20=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/service/ApiAdapterService.java | 59 ++++++++++--------- .../HttpAdapterServiceVirtualAccount.java | 1 + .../filter/SimpleframeworkBodyFilter.java | 4 +- 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/eactive/eai/adapter/service/ApiAdapterService.java b/src/main/java/com/eactive/eai/adapter/service/ApiAdapterService.java index e964980..fb0c4d3 100644 --- a/src/main/java/com/eactive/eai/adapter/service/ApiAdapterService.java +++ b/src/main/java/com/eactive/eai/adapter/service/ApiAdapterService.java @@ -94,6 +94,7 @@ public class ApiAdapterService extends HttpAdapterServiceSupport { transactionProp.put(INBOUND_METHOD, request.getMethod()); transactionProp.put(INBOUND_URI, request.getRequestURI()); transactionProp.put(INBOUND_HEADER, getHeaders(request)); + transactionProp.put(INBOUND_EXTPARAMS, StringUtils.defaultString(request.getQueryString())); if (StringUtils.equals(adapterVO.getAdapterGroupVO().getType(), Keys.TYPE_REST) || StringUtils.equals(adapterVO.getAdapterGroupVO().getType(), Keys.TYPE_HTTP_CUSTOM)) { // /api/v1/public/getUserInfo.svc @@ -207,35 +208,37 @@ public class ApiAdapterService extends HttpAdapterServiceSupport { logger.debug("HttpAdapterServiceRest] RECV (" + adptGrpName + ") = [" + paramValue + "]\n" + CommonLib.getDumpMessage(paramValue.getBytes(encode))); } - } else { - ServletInputStream sis = request.getInputStream(); - ByteBuffer bb = ByteBuffer.allocate(1024).setAutoExpand(true); - int i = 0; - byte[] cbuf = new byte[1024]; - while ((i = sis.read(cbuf, 0, 1024)) != -1) { - if (i == 1024) { - bb.put(cbuf); - } else { - byte[] tail = new byte[i]; - System.arraycopy(cbuf, 0, tail, 0, i); - bb.put(tail); - } - } - byte[] data = new byte[bb.position()]; - bb.position(0); - bb.get(data); - paramValue = new String(data, encode); + } else { + if (request.getContentLength() > 0) { + ServletInputStream sis = request.getInputStream(); + ByteBuffer bb = ByteBuffer.allocate(1024).setAutoExpand(true); + int i = 0; + byte[] cbuf = new byte[1024]; + while ((i = sis.read(cbuf, 0, 1024)) != -1) { + if (i == 1024) { + bb.put(cbuf); + } else { + byte[] tail = new byte[i]; + System.arraycopy(cbuf, 0, tail, 0, i); + bb.put(tail); + } + } + byte[] data = new byte[bb.position()]; + bb.position(0); + bb.get(data); + paramValue = new String(data, encode); - if (traceLevel >= 3) { - HttpMemoryLogger.txlog(adptGrpName + adptName, - "RECV " + "[" + paramValue + "]" + CommonLib.getDumpMessage(data)); - } - - if (logger.isDebug()) { - logger.debug("HttpAdapterServiceRest] RECV (" + adptGrpName + ") = [" + paramValue + "]\n" - + CommonLib.getDumpMessage(data)); - } - } + if (traceLevel >= 3) { + HttpMemoryLogger.txlog(adptGrpName + adptName, + "RECV " + "[" + paramValue + "]" + CommonLib.getDumpMessage(data)); + } + + if (logger.isDebug()) { + logger.debug("HttpAdapterServiceRest] RECV (" + adptGrpName + ") = [" + paramValue + "]\n" + + CommonLib.getDumpMessage(data)); + } + } + } if (paramValue == null) { // parameter가 없는 경우때문에 처리 paramValue = ""; diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/impl/HttpAdapterServiceVirtualAccount.java b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/impl/HttpAdapterServiceVirtualAccount.java index bc09fd7..d5f1db1 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/impl/HttpAdapterServiceVirtualAccount.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/impl/HttpAdapterServiceVirtualAccount.java @@ -312,6 +312,7 @@ public class HttpAdapterServiceVirtualAccount extends HttpAdapterServiceSupport prop.put(INBOUND_METHOD, request.getMethod()); prop.put(INBOUND_URI, request.getRequestURI()); prop.put(INBOUND_HEADER, getHeaders(request)); + prop.put(INBOUND_EXTPARAMS, StringUtils.defaultString(request.getQueryString())); if (StringUtils.equals(adptVO.getAdapterGroupVO().getType(), Keys.TYPE_REST) || StringUtils.equals(adptVO.getAdapterGroupVO().getType(), Keys.TYPE_HTTP_CUSTOM)) { // /api/v1/public/getUserInfo.svc diff --git a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/SimpleframeworkBodyFilter.java b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/SimpleframeworkBodyFilter.java index f051c2b..3515035 100644 --- a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/SimpleframeworkBodyFilter.java +++ b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/SimpleframeworkBodyFilter.java @@ -18,7 +18,9 @@ public class SimpleframeworkBodyFilter extends SimpleFrameworkFilter { if ( returnMessage instanceof String ) { bizJsonStr = (JSONObject) JSONValue.parse( (String)returnMessage); - bizJsonStr.put("GUID", tempProp.get(TransactionContextKeys.GUID)); + if( bizJsonStr != null ) { + bizJsonStr.put("GUID", tempProp.getOrDefault(TransactionContextKeys.GUID, "") ); + } } return bizJsonStr != null ? bizJsonStr.toJSONString() : returnMessage;