Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / SSL логирование / 20 сообщений из 20, страница 1 из 1
07.07.2017, 11:02
    #39484324
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Хочу написать свой логер для логирование Response от другой системы

Мой фильтр
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class LoggingResponseFilter implements ClientResponseFilter {
	private static final int DEFAULT_MAX_ENTITY_SIZE = 8 * 1024;

	@Override
	public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
		StringBuilder requestLog = new StringBuilder(DIVIDER_LOG).append(MessageFormat.format(RESPONSE_LOG, requestContext.getUri()));
		// .append(responseContext.getHeaders().keySet().stream().map(s -> s + ": " + responseContext.getHeaderString(s)).collect(Collectors.joining(";
		// "))).append(NEW_LINE_LOG);
		if (responseContext.hasEntity())
			responseContext.setEntityStream(logInboundEntity(requestLog, responseContext.getEntityStream()));
		requestLog.append(NEW_LINE_LOG).append(DIVIDER_LOG);
		LoggerUtil.getDEBUG_LOGGER().debug(requestLog.toString());
	}

	private InputStream logInboundEntity(final StringBuilder b, InputStream stream) throws IOException {
		if (!stream.markSupported())
			stream = new BufferedInputStream(stream);
		stream.mark(DEFAULT_MAX_ENTITY_SIZE + 1);
		final byte[] entity = new byte[DEFAULT_MAX_ENTITY_SIZE + 1];
		final int entitySize = stream.read(entity);
		b.append(new String(entity, 0, Math.min(entitySize, DEFAULT_MAX_ENTITY_SIZE)));
		if (entitySize > DEFAULT_MAX_ENTITY_SIZE) {
			b.append(MORE_LOG);
		}
		b.append(NEW_LINE_LOG);
		stream.reset();
		return stream;
	}
}



Создание RestEasy клиента происходит так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
	private ResteasyClient getResteasyClient() {
		SSLContext sslContext = SSLConnection.getInstance().createSSL();
		if (sslContext != null) {
			ResteasyClientBuilder clientBuilder = new ResteasyClientBuilder().socketTimeout(TRANSFER_TIMEOUT, TimeUnit.SECONDS).sslContext(sslContext);
			ResteasyClient resteasyClient = clientBuilder.build().register(new LoggingRequestFilter()).register(new LoggingResponseFilter());
			return resteasyClient;
		} else
			return null;
	}



Создание SSLConnection у меня так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
public class SSLConnection {

	private static final String TRANSFER_CERT_PATH = ApplicationParamsManager.getParam("TRANSFER_CERT_PATH");
	private static final String TRANSFER_CERT_PASS = ApplicationParamsManager.getParam("TRANSFER_CERT_PASS");
	private SSLContext sslContext;

	private static SSLConnection instance;

	public static SSLConnection getInstance() {
		if (instance == null) {
			instance = new SSLConnection();
		}
		return instance;
	}

	public SSLContext createSSL() {
		String a = KeyStore.getDefaultType();
		if (sslContext != null)
			return sslContext;
		try {
			switch (Helper.INFRASTRUCTURE) {
				case IDEA:
				case MMB:
					KeyStore keyStore = KeyStore.getInstance("PKCS12");
					keyStore.load(new FileInputStream(TRANSFER_CERT_PATH), TRANSFER_CERT_PASS.toCharArray());
					sslContext = SSLContexts.custom().loadKeyMaterial(keyStore, TRANSFER_CERT_PASS.toCharArray()).build();
					break;
				default:
					LoggerUtil.getDEBUG_LOGGER().error("SSLConnection#createSSL - don't work with this InfraName");
			}
		} catch (KeyStoreException | NoSuchAlgorithmException | UnrecoverableKeyException | KeyManagementException | CertificateException | IOException e) {
			LoggerUtil.getDEBUG_LOGGER().error("Error create TransferServiceImpl#getResteasyClient", e);
		}
		return sslContext;
	}
}




Суть проблемы, ответа от стороннего сервера в лог подают НО они такого ввида

Код: java
1.
2.
3.
4.
5.
6.
7.
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) 2017-06-29 10:47:00 DEBUG DEBUG_LOGGER:35 - ----------
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) [TRANSFER HTTP response - "https://www.url.by"]
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) ‹      5ЋK
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) 1DЇ2Ф:‹щЂhv".эЂ'€IЈ“Hwg1€w7вX»Wј‚z!РіHФm*5+loа+3e?Гb3M0pUп»v4Ш3юF,| wыVg7'КЪEйщGМљtв@|Q§U`Wkє·Н0фНщ?X·ј?bРнd?   
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) 
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) ----------
2017-06-29 10:47:00,526 INFO  [stdout] (default task-11) 



Это у меня не правильно фильтр работает?
Или из-за ssl ответы еще зашифрованные приходят?

Я бы хотел видеть уже расшифрованный нормальный rest
Код: java
1.
{"errorCode":"5","errorMessage":"Доступ запрещён"}
...
Рейтинг: 0 / 0
07.07.2017, 11:52
    #39484382
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-,
может base64 дешифровать и будет читабельный?
...
Рейтинг: 0 / 0
07.07.2017, 12:09
    #39484404
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Я так понимаю дешифровать здесь

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private InputStream logInboundEntity(final StringBuilder b, InputStream stream) throws IOException {
		if (!stream.markSupported())
			stream = new BufferedInputStream(stream);
		stream.mark(DEFAULT_MAX_ENTITY_SIZE + 1);
		final byte[] entity = new byte[DEFAULT_MAX_ENTITY_SIZE + 1];
		final int entitySize = stream.read(entity);
		b.append(new String(entity, 0, Math.min(entitySize, DEFAULT_MAX_ENTITY_SIZE)));
		if (entitySize > DEFAULT_MAX_ENTITY_SIZE) {
			b.append(MORE_LOG);
		}
		b.append(NEW_LINE_LOG);
		stream.reset();
		return stream;
	}
...
Рейтинг: 0 / 0
07.07.2017, 12:25
    #39484418
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Petro123-=Koba=-,
может base64 дешифровать и будет читабельный?
просто из лога взять строку и дешифровать в любом он-лайн веб сервисе по дешифровке.
Если текст получится, тогда программно.
...
Рейтинг: 0 / 0
07.07.2017, 12:31
    #39484424
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Неа что-то не работает(
...
Рейтинг: 0 / 0
07.07.2017, 12:32
    #39484425
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Пробовал использовать вот эти фильтры
https://stackoverflow.com/questions/36676017/jax-rs-2-print-json-request

Тоже самое
...
Рейтинг: 0 / 0
07.07.2017, 12:32
    #39484426
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Код: java
1.
INFO: [2017-07-07 12:21:00.230 MSK] Filter.log(34)  - ?      5???0C??s(d?????/H?S??.w???h?=????????t?? (3?a?E?40?*?[?{1?3'>	~?S???[NC(P??#?/?????W?????-?n4???   
...
Рейтинг: 0 / 0
07.07.2017, 12:50
    #39484442
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-,

Проясните, пожалуйста, задачу. Надо затрахаться или залогировать? Потому что средства логирования запросов и ответов давно уже созданы во всех приличных клиентах и серверах. Ещё настораживает попытка что-то делать с SSL. Java платформа уже за вас всё нужное делает.
...
Рейтинг: 0 / 0
07.07.2017, 13:40
    #39484514
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Стоят два фильтра

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class LoggingMessage {
	public static final String DIVIDER_LOG = "----------\n";
	public static final String REQUEST_LOG = "[TRANSFER HTTP request - \"{0}\"]\n";
	public static final String RESPONSE_LOG = "[TRANSFER HTTP response - \"{0}\"]\n";
	public static final String BODY_LOG = "BODY - \"{0}\"---\n";
	public static final String NEW_LINE_LOG = "\n";
	public static final String MORE_LOG = "...more...";
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
public class LoggingRequestFilter implements ClientRequestFilter {

	public void filter(ClientRequestContext requestContext) throws IOException {
		StringBuilder requestLog = new StringBuilder(NEW_LINE_LOG).append(DIVIDER_LOG).append(MessageFormat.format(REQUEST_LOG, requestContext.getUri())).
		// append(requestContext.getHeaders().keySet().stream().map(s -> s + ": " + requestContext.getHeaderString(s)).collect(Collectors.joining("; "))).
				append(NEW_LINE_LOG);
		if (requestContext.getEntity() != null)
			requestLog.append(MessageFormat.format(BODY_LOG, requestContext.getEntity())).append(NEW_LINE_LOG);
		requestLog.append(DIVIDER_LOG);
		LoggerUtil.getDEBUG_LOGGER().debug(requestLog.toString());
	}
}

public class LoggingResponseFilter implements ClientResponseFilter {
	private static final int DEFAULT_MAX_ENTITY_SIZE = 8 * 1024;

	@Override
	public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
		StringBuilder requestLog = new StringBuilder(DIVIDER_LOG).append(MessageFormat.format(RESPONSE_LOG, requestContext.getUri()));
		// .append(responseContext.getHeaders().keySet().stream().map(s -> s + ": " + responseContext.getHeaderString(s)).collect(Collectors.joining(";
		// "))).append(NEW_LINE_LOG);
		if (responseContext.hasEntity())
			responseContext.setEntityStream(logInboundEntity(requestLog, responseContext.getEntityStream()));
		requestLog.append(NEW_LINE_LOG).append(DIVIDER_LOG);
		LoggerUtil.getDEBUG_LOGGER().debug(requestLog.toString());
	}

	private InputStream logInboundEntity(final StringBuilder b, InputStream stream) throws IOException {
		if (!stream.markSupported())
			stream = new BufferedInputStream(stream);
		stream.mark(DEFAULT_MAX_ENTITY_SIZE + 1);
		final byte[] entity = new byte[DEFAULT_MAX_ENTITY_SIZE + 1];
		final int entitySize = stream.read(entity);
		b.append(new String(entity, 0, Math.min(entitySize, DEFAULT_MAX_ENTITY_SIZE)));
		if (entitySize > DEFAULT_MAX_ENTITY_SIZE) {
			b.append(MORE_LOG);
		}
		b.append(NEW_LINE_LOG);
		stream.reset();
		return stream;
	}
}



Когда моя система отправляет запрос на "чужую" я отчетливо вижу, что ушло

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
DEBUG: [2017-06-28 14:41:01.315 MSK] by.filters.LoggingRequestFilter.filter(30)  - 
----------
[TRANSFER HTTP request - "https://url.by:9443/payment/rest/getOrderStatus.do?userName=ideabank_test&password=Testing123&orderId=8fb07a24-34fa-4dc8-9218-fd415602ca1e"]

----------

DEBUG: [2017-06-28 14:41:01.674 MSK] by.filters.LoggingResponseFilter.filter(35)  - ----------
[TRANSFER HTTP response - "https://url.by:9443/payment/rest/getOrderStatus.do?userName=ideabank_test&password=Testing123&orderId=8fb07a24-34fa-4dc8-9218-fd415602ca1e"]
‹      5Ќ±В0CяЕs†@—6ЄЃЎ_ђ&'КР]о„ъп\x{¶eї‘йYкCNsСEјCRfZТ]УА!ЄL}Й„pt83ю<~|ЎZг}іMЙА‚gвAўhЭgwѕк<[па[ль_[УъПsУЊ   

----------



Когда приходит ответ я вижу белеберду, хотелось бы нормальный JSON

Не могу понять это из-за SSL не работает или что?

Когда выполняю в браузере (без порта)
https://url.by/payment/rest/getOrderStatus.do?userName=ideabank_test&password=Testing123&orderId=8fb07a24-34fa-4dc8-9218-fd415602ca1e

Приходит нормальный JSONm вот его и хочу логировать
...
Рейтинг: 0 / 0
07.07.2017, 13:41
    #39484516
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Когда моя система отправляет запрос на "чужой сервер" я отчетливо вижу, что ушло
...
Рейтинг: 0 / 0
07.07.2017, 14:00
    #39484538
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-,

RestClient ваш, часом, не через HttpClient работает?
https://hc.apache.org/httpcomponents-client-ga/logging.html
...
Рейтинг: 0 / 0
07.07.2017, 14:13
    #39484549
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Blazkowicz-=Koba=-,

RestClient ваш, часом, не через HttpClient работает?
https://hc.apache.org/httpcomponents-client-ga/logging.html
Спасибо за ответ но не совсем понял

Это мне надо настроить мой log4j.xml?
...
Рейтинг: 0 / 0
07.07.2017, 14:17
    #39484552
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-,

В зависимости от того кто реализует HTTP транспорт для вашего REST, достаточно просто настроить логирование запросов и ответов. Нужные механизмы уже заложены.
...
Рейтинг: 0 / 0
07.07.2017, 14:18
    #39484557
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-Это мне надо настроить мой log4j.xml?
Ну, если таковой имеется, то "да".
...
Рейтинг: 0 / 0
07.07.2017, 15:19
    #39484638
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Может пожмоете еще раз

Настраиваю по аналогии
https://support.xebialabs.com/hc/en-us/community/posts/204756423-How-To-Configure-additional-logging-for-Apache-HttpComponents-i-e-HttpRequest-and-HttpResponse

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
	<!-- Apache HC logging -->
	<appender name="APACHEHC" class="org.apache.log4j.RollingFileAppender">
		<param name="File" value="${jboss.server.log.dir}/apachehc.log"/>
		<param name="MaxFileSize" value="10240KB"/>
		<param name="MaxBackupIndex" value="30"/>
		<param name="Threshold" value="ALL"/>
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%p [%d{yyyy-MM-dd HH:mm:ss.SSS z}] [%t] [%l] - %m%n"/>
		</layout>
	</appender>

	<!-- suppress full wire logging -->
	<logger name="org.apache.http.wire"  additivity="false">
		<level value="all"/>
		<appender-ref ref="APACHEHC" />
	</logger>

	<!-- header and context logging -->
	<logger name="org.apache.http" additivity="false">
		<level value="all"/>
		<appender-ref ref="APACHEHC" />
	</logger>



Файл создается но пустой
По по им фильтрам видно, что запрос уходит и приходит, но ничего не пишется

Логер во WidlFly не стандартной, он менялся, может что не указала, для этого протоколирования?
...
Рейтинг: 0 / 0
07.07.2017, 15:48
    #39484685
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
15:47:24,008 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: reset attribute= "false".
15:47:24,008 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Threshold ="null".
15:47:24,010 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Retreiving an instance of org.apache.log4j.Logger.
15:47:24,011 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting [org.apache.http] additivity to [true].
15:47:24,012 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Level value for org.apache.http is  [all].
15:47:24,012 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: org.apache.http level set to ALL
15:47:24,014 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Class name: [org.apache.log4j.RollingFileAppender]
15:47:24,025 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting property [file] to [E:\Soft\Server_10.1.0\standalone\log/apachehc.log].
15:47:24,025 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting property [maxFileSize] to [10240KB].
15:47:24,026 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting property [maxBackupIndex] to [30].
15:47:24,026 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting property [threshold] to [ALL].
15:47:24,026 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
15:47:24,029 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting property [conversionPattern] to [%p [%d{yyyy-MM-dd HH:mm:ss.SSS z}] [%t] [%l] - %m%n].
15:47:24,030 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: setFile called: E:\Soft\Server_10.1.0\standalone\log/apachehc.log, true
15:47:24,030 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: setFile ended
15:47:24,030 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Adding appender named [APACHEHC] to category [org.apache.http].
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Retreiving an instance of org.apache.log4j.Logger.
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting [httpclient.wire.content] additivity to [true].
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Level value for httpclient.wire.content is  [all].
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: httpclient.wire.content level set to ALL
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Adding appender named [APACHEHC] to category [httpclient.wire.content].
15:47:24,031 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Retreiving an instance of org.apache.log4j.Logger.
15:47:24,032 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Setting [org.apache.commons.httpclient] additivity to [true].
15:47:24,032 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Level value for org.apache.commons.httpclient is  [all].
15:47:24,032 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: org.apache.commons.httpclient level set to ALL
15:47:24,032 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Adding appender named [APACHEHC] to category [org.apache.commons.httpclient].
15:47:24,032 INFO  [stdout] (ServerService Thread Pool -- 17) log4j: Retreiving an instance of org.apache.log4j.Logger.
...
Рейтинг: 0 / 0
07.07.2017, 16:25
    #39484726
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Интересно. Конфигурируете файл. А показываете stdout.
...
Рейтинг: 0 / 0
07.07.2017, 17:05
    #39484769
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Я наверное понял тут, можете неправ, =(

Мне приходит такой ответ (смотрел в браузере, но без порта, возможно соединение не защищенное было, на другмо сервере уже используется сертификат )
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Accept-Charset:big5, big5-hkscs, cesu-8, euc-jp, euc-kr, gb18030, gb2312, gbk, ibm-thai, ibm00858, ibm01140, ibm01141, ibm01142, ibm01143, ibm01144, ibm01145, ibm01146, ibm01147, ibm01148, ibm01149, ibm037, ibm1026, ibm1047, ibm273, ibm277, ibm278, ibm280, ibm284, ibm285, ibm290, ibm297, ibm420, ibm424, ibm437, ibm500, ibm775, ibm850, ibm852, ibm855, ibm857, ibm860, ibm861, ibm862, ibm863, ibm864, ibm865, ibm866, ibm868, ibm869, ibm870, ibm871, ibm918, iso-2022-cn, iso-2022-jp, iso-2022-jp-2, iso-2022-kr, iso-8859-1, iso-8859-13, iso-8859-15, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9, jis_x0201, jis_x0212-1990, koi8-r, koi8-u, shift_jis, tis-620, us-ascii, utf-16, utf-16be, utf-16le, utf-32, utf-32be, utf-32le, utf-8, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, windows-31j, x-big5-hkscs-2001, x-big5-solaris, x-compound_text, x-euc-jp-linux, x-euc-tw, x-eucjp-open, x-ibm1006, x-ibm1025, x-ibm1046, x-ibm1097, x-ibm1098, x-ibm1112, x-ibm1122, x-ibm1123, x-ibm1124, x-ibm1166, x-ibm1364, x-ibm1381, x-ibm1383, x-ibm300, x-ibm33722, x-ibm737, x-ibm833, x-ibm834, x-ibm856, x-ibm874, x-ibm875, x-ibm921, x-ibm922, x-ibm930, x-ibm933, x-ibm935, x-ibm937, x-ibm939, x-ibm942, x-ibm942c, x-ibm943, x-ibm943c, x-ibm948, x-ibm949, x-ibm949c, x-ibm950, x-ibm964, x-ibm970, x-iscii91, x-iso-2022-cn-cns, x-iso-2022-cn-gb, x-iso-8859-11, x-jis0208, x-jisautodetect, x-johab, x-macarabic, x-maccentraleurope, x-maccroatian, x-maccyrillic, x-macdingbat, x-macgreek, x-machebrew, x-maciceland, x-macroman, x-macromania, x-macsymbol, x-macthai, x-macturkish, x-macukraine, x-ms932_0213, x-ms950-hkscs, x-ms950-hkscs-xp, x-mswin-936, x-oracle-al16utf16, x-oracle-al32utf8, x-oracle-ar8ados710, x-oracle-ar8ados720, x-oracle-ar8aptec715, x-oracle-ar8arabicmac, x-oracle-ar8arabicmacs, x-oracle-ar8asmo8x, x-oracle-ar8ebcdic420s, x-oracle-ar8ebcdicx, x-oracle-ar8iso8859p6, x-oracle-ar8mswin1256, x-oracle-ar8mussad768, x-oracle-ar8nafitha711, x-oracle-ar8nafitha721, x-oracle-ar8sakhr706, x-oracle-ar8sakhr707, x-oracle-az8iso8859p9e, x-oracle-bg8mswin, x-oracle-bg8pc437s, x-oracle-blt8cp921, x-oracle-blt8ebcdic1112, x-oracle-blt8ebcdic1112s, x-oracle-blt8iso8859p13, x-oracle-blt8mswin1257, x-oracle-blt8pc775, x-oracle-bn8bscii, x-oracle-cdn8pc863, x-oracle-ce8bs2000, x-oracle-cel8iso8859p14, x-oracle-ch7dec, x-oracle-cl8bs2000, x-oracle-cl8ebcdic1025, x-oracle-cl8ebcdic1025c, x-oracle-cl8ebcdic1025r, x-oracle-cl8ebcdic1025s, x-oracle-cl8ebcdic1025x, x-oracle-cl8ebcdic1158, x-oracle-cl8ebcdic1158r, x-oracle-cl8iso8859p5, x-oracle-cl8isoir111, x-oracle-cl8koi8r, x-oracle-cl8koi8u, x-oracle-cl8maccyrillic, x-oracle-cl8maccyrillics, x-oracle-cl8mswin1251, x-oracle-d7dec, x-oracle-d7siemens9780x, x-oracle-d8bs2000, x-oracle-d8ebcdic1141, x-oracle-d8ebcdic273, x-oracle-dk7siemens9780x, x-oracle-dk8bs2000, x-oracle-dk8ebcdic1142, x-oracle-dk8ebcdic277, x-oracle-e7dec, x-oracle-e7siemens9780x, x-oracle-e8bs2000, x-oracle-ee8bs2000, x-oracle-ee8ebcdic870, x-oracle-ee8ebcdic870c, x-oracle-ee8ebcdic870s, x-oracle-ee8iso8859p2, x-oracle-ee8macce, x-oracle-ee8macces, x-oracle-ee8maccroatian, x-oracle-ee8maccroatians, x-oracle-ee8mswin1250, x-oracle-ee8pc852, x-oracle-eec8euroasci, x-oracle-eec8europa3, x-oracle-el8dec, x-oracle-el8ebcdic423r, x-oracle-el8ebcdic875, x-oracle-el8ebcdic875r, x-oracle-el8gcos7, x-oracle-el8iso8859p7, x-oracle-el8macgreek, x-oracle-el8macgreeks, x-oracle-el8mswin1253, x-oracle-el8pc437s, x-oracle-el8pc737, x-oracle-el8pc851, x-oracle-el8pc869, x-oracle-et8mswin923, x-oracle-f7dec, x-oracle-f7siemens9780x, x-oracle-f8bs2000, x-oracle-f8ebcdic1147, x-oracle-f8ebcdic297, x-oracle-hu8abmod, x-oracle-hu8cwi2, x-oracle-i7dec, x-oracle-i7siemens9780x, x-oracle-i8ebcdic1144, x-oracle-i8ebcdic280, x-oracle-in8iscii, x-oracle-is8macicelandic, x-oracle-is8macicelandics, x-oracle-is8pc861, x-oracle-iw7is960, x-oracle-iw8ebcdic1086, x-oracle-iw8ebcdic424, x-oracle-iw8ebcdic424s, x-oracle-iw8iso8859p8, x-oracle-iw8machebrew, x-oracle-iw8machebrews, x-oracle-iw8mswin1255, x-oracle-iw8pc1507, x-oracle-ja16dbcs, x-oracle-ja16ebcdic930, x-oracle-ja16euc, x-oracle-ja16euctilde, x-oracle-ja16eucyen, x-oracle-ja16macsjis, x-oracle-ja16sjis, x-oracle-ja16sjistilde, x-oracle-ja16sjisyen, x-oracle-ja16vms, x-oracle-ko16dbcs, x-oracle-ko16ksc5601, x-oracle-ko16ksccs, x-oracle-ko16mswin949, x-oracle-la8iso6937, x-oracle-la8passport, x-oracle-lt8mswin921, x-oracle-lt8pc772, x-oracle-lt8pc774, x-oracle-lv8pc1117, x-oracle-lv8pc8lr, x-oracle-lv8rst104090, x-oracle-n7siemens9780x, x-oracle-n8pc865, x-oracle-ndk7dec, x-oracle-ne8iso8859p10, x-oracle-nee8iso8859p4, x-oracle-nl7dec, x-oracle-ru8besta, x-oracle-ru8pc855, x-oracle-ru8pc866, x-oracle-s7dec, x-oracle-s7siemens9780x, x-oracle-s8bs2000, x-oracle-s8ebcdic1143, x-oracle-s8ebcdic278, x-oracle-se8iso8859p3, x-oracle-sf7ascii, x-oracle-sf7dec, x-oracle-th8macthai, x-oracle-th8macthais, x-oracle-th8tisascii, x-oracle-th8tisebcdic, x-oracle-th8tisebcdics, x-oracle-tr7dec, x-oracle-tr8dec, x-oracle-tr8ebcdic1026, x-oracle-tr8ebcdic1026s, x-oracle-tr8macturkish, x-oracle-tr8macturkishs, x-oracle-tr8mswin1254, x-oracle-tr8pc857, x-oracle-us7ascii, x-oracle-us8bs2000, x-oracle-us8icl, x-oracle-us8pc437, x-oracle-utf8, x-oracle-utfe, x-oracle-vn8mswin1258, x-oracle-vn8vn3, x-oracle-we8bs2000, x-oracle-we8bs2000e, x-oracle-we8bs2000l5, x-oracle-we8dec, x-oracle-we8dg, x-oracle-we8ebcdic1047, x-oracle-we8ebcdic1047e, x-oracle-we8ebcdic1140, x-oracle-we8ebcdic1140c, x-oracle-we8ebcdic1145, x-oracle-we8ebcdic1146, x-oracle-we8ebcdic1148, x-oracle-we8ebcdic1148c, x-oracle-we8ebcdic284, x-oracle-we8ebcdic285, x-oracle-we8ebcdic37, x-oracle-we8ebcdic37c, x-oracle-we8ebcdic500, x-oracle-we8ebcdic500c, x-oracle-we8ebcdic871, x-oracle-we8ebcdic924, x-oracle-we8gcos7, x-oracle-we8hp, x-oracle-we8icl, x-oracle-we8iso8859p1, x-oracle-we8iso8859p15, x-oracle-we8iso8859p9, x-oracle-we8isoicluk, x-oracle-we8macroman8, x-oracle-we8macroman8s, x-oracle-we8mswin1252, x-oracle-we8ncr4970, x-oracle-we8nextstep, x-oracle-we8pc850, x-oracle-we8pc858, x-oracle-we8pc860, x-oracle-we8roman8, x-oracle-yug7ascii, x-oracle-zhs16cgb231280, x-oracle-zhs16dbcs, x-oracle-zhs16gbk, x-oracle-zhs16maccgb231280, x-oracle-zht16big5, x-oracle-zht16ccdc, x-oracle-zht16dbcs, x-oracle-zht16dbt, x-oracle-zht16hkscs, x-oracle-zht16hkscs31, x-oracle-zht16mswin950, x-oracle-zht32euc, x-oracle-zht32sops, x-oracle-zht32tris, x-pck, x-sjis_0213, x-utf-16le-bom, x-utf-32be-bom, x-utf-32le-bom, x-windows-50220, x-windows-50221, x-windows-874, x-windows-949, x-windows-950, x-windows-iso2022jp
Connection:close
Content-Encoding:gzip
Content-Length:105
Content-Type:text/plain;charset=UTF-8
Date:Fri, 07 Jul 2017 13:58:53 GMT
Vary:Accept-Encoding
X-Frame-Options:SAMEORIGIN
X-Frame-Options:SAMEORIGIN



И соответственно
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
	private InputStream logInboundEntity(final StringBuilder b, InputStream stream) throws IOException {
		if (!stream.markSupported())
			stream = new BufferedInputStream(stream);
		stream.mark(DEFAULT_MAX_ENTITY_SIZE + 1);
		final byte[] entity = new byte[DEFAULT_MAX_ENTITY_SIZE + 1];
		final int entitySize = stream.read(entity);
		b.append(new String(entity, 0, Math.min(entitySize, DEFAULT_MAX_ENTITY_SIZE)));
		if (entitySize > DEFAULT_MAX_ENTITY_SIZE) {
			b.append(MORE_LOG);
		}
		b.append(NEW_LINE_LOG);
		stream.reset();
		return stream;
	}



Я вывожу белеберду
Можно ли этот gzip в LoggingResponseFilter распоковать?
Тупо заменить BufferedInputStream на GZIPInputStream не прокатило...

То есть я так понимаю json, который мне надо за зазипивон лежит. Сталось только отобразить его
...
Рейтинг: 0 / 0
07.07.2017, 17:24
    #39484790
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
-=Koba=-,
так ты zip бинарник выводил? )))
...
Рейтинг: 0 / 0
07.07.2017, 17:28
    #39484793
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSL логирование
Petro123,
Ну если мои мыли идут уже в правильном направлении, то получается да =(((

Сейчас думаю как совместить туту

LoggingResponseFilter , что он распаковал и пропустил дальше

А то ошибку ловлю
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Caused by: java.io.EOFException
	at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:268)
	at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:258)
	at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:79)
	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:91)
	at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor$FinishableGZIPInputStream.<init>(GZIPDecodingInterceptor.java:26)
	at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(GZIPDecodingInterceptor.java:43)
	at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:55)
	at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:251)
	... 123 more
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / SSL логирование / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]