Имам проблем с APEX app builder/sql workshop за известно време. Има проблем с кодирането (APEX трябва да обслужва източноевропейски знаци). Най-накрая намерих източника на проблема. Внедрих CAS sso в APEX чрез web.xml (APEX е на Tomcat/ORDS). Без CAS всичко работи добре, но ми трябва.
По-долу има конфигурацията web.xml.
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>**************</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.Saml11AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>****************</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>***************</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Saml11TicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>****************</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>*************</param-value>
</init-param>
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>acceptAnyProxy</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>proxyReceptorUrl</param-name>
<param-value>/apex/proxyUrl</param-value>
</init-param>
<init-param>
<param-name>proxyCallbackUrl</param-name>
<param-value>*************</param-value>
</init-param>
<init-param>
<param-name>tolerance</param-name>
<param-value>12000</param-value>
</init-param>
<init-param>
<param-name>authn_method</param-name>
<param-value>mfa-duo</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Опитах се да внедря нещо от https://github.com/apereo/java-cas-client/blob/master/README.md например има изречение
SingleSignOutFilter може да повлияе на кодирането на знаци. Това става най-очевидно, когато се използва заедно с приложения като Atlassian Confluence. Препоръчва се изрично да конфигурирате или филтъра за кодиране на знаци VT, или филтъра за кодиране на символи Spring с изрично кодиране.
Но не знам как да го приложа. Когато се опитах да внедря кода по-долу, този филтър не се стартира правилно и не мога да проверя регистрационните файлове за грешки.
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Пример за проблем: SQL workshop>
select 'ł' from dual;
резултат: А?
Как мога да поправя това?