[
https://issues.apache.org/jira/browse/CAMEL-17234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17449428#comment-17449428
]
Adam Ostrožlík commented on CAMEL-17234:
----------------------------------------
I have tried hardcoded version:
{code:java}
.to("ldap:gateLdapDirContext?base=dc=cpost,dc=cz") {code}
Exception is still the same but I can now see no king of escaping '=' sign:
{code:java}
[route2 ] [to10 ]
[ldap:gateLdapDirContext?base=dc=cpost,dc=cz
] [ 0] {code}
So it looks like EndpointDsl thing with that character escaping but it may not
be the cause.
I am using docker container:
{code:java}
openldap:
image: osixia/openldap:${OPENLDAP_TAG}
ports:
- ${OPENLDAP_PORT_1}:${OPENLDAP_PORT_1}
- ${OPENLDAP_PORT_2}:${OPENLDAP_PORT_2}
env_file: .env.openldap
volumes:
- "OpenLDAPData:/var/lib/ldap:rw"
- "OpenLDAPConfigs:/etc/ldap/slapd.d:rw" {code}
{code:java}
# .env.openldap
LDAP_ORGANISATION="Česká pošta"
LDAP_DOMAIN=cpost.cz
LDAP_ADMIN_PASSWORD=password
# .env
OPENLDAP_TAG=latest
OPENLDAP_PORT_1=389
OPENLDAP_PORT_2=636{code}
DirContext:
{code:java}
@Bean
DirContext gateLdapDirContext(GateProperties gateProperties) {
var ldapConfig = gateProperties.getLdap();
return new InitialLdapContext(new Hashtable<>(Map.of(
Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory",
Context.PROVIDER_URL, ldapConfig.getProviderUrl(),
Context.URL_PKG_PREFIXES, "com.sun.jndi.url",
Context.REFERRAL, "ignore",
Context.SECURITY_AUTHENTICATION, "simple",
Context.SECURITY_PRINCIPAL, ldapConfig.getPrincipalDn(),
Context.SECURITY_CREDENTIALS, ldapConfig.getPassword()
)), null);
} {code}
Full properties:
{code:java}
gate:
ldap:
provider-url: ldap://localhost:389
base-dn: dc=cpost,dc=cz
principal-dn: cn=admin,${gate.ldap.base-dn}
password: password {code}
> camel-ldap - LDAP bad parsing of '=' in base parameter
> ------------------------------------------------------
>
> Key: CAMEL-17234
> URL: https://issues.apache.org/jira/browse/CAMEL-17234
> Project: Camel
> Issue Type: Bug
> Components: camel-ldap
> Affects Versions: 3.12.0
> Reporter: Adam Ostrožlík
> Priority: Major
> Fix For: 3.14.0
>
>
> Simple route for ldap search:
> {code:java}
> // main route
> .wireTap(securityEndpoint)
> from(securityEndpoint)
>
> .to(ldap("gateLdapDirContext").base(gateProperties.getLdap().getBaseDn()));{code}
> application.yaml encoded in UTF-8
> {code:java}
> gate:
> ldap:
> base-dn: dc=cpost,dc=cz{code}
> Exception
> {code:java}
> Message History (complete message history is disabled)
> ---------------------------------------------------------------------------------------------------------------------------------------
> RouteId ProcessorId Processor
> Elapsed (ms)
> [gateMainRoute ] [gateMainRoute ]
> [from[direct://gateRouteEntryEndpoint]
> ] [ 5]
> ...
> [route1 ] [to4 ]
> [ldap://gateLdapDirContext?base=dc%3Dcpost%2Cdc%3Dcz
> ] [ 0]Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> javax.naming.directory.InvalidSearchFilterException: Missing 'equals'
> at
> java.naming/com.sun.jndi.ldap.Filter.encodeSimpleFilter(Filter.java:312)
> ~[na:na]
> at java.naming/com.sun.jndi.ldap.Filter.encodeFilter(Filter.java:171)
> ~[na:na]
> at
> java.naming/com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:74)
> ~[na:na]
> at java.naming/com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547)
> ~[na:na]
> at java.naming/com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2014)
> ~[na:na]
> at java.naming/com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1873)
> ~[na:na]
> at java.naming/com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1798)
> ~[na:na]
> at
> java.naming/com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392)
> ~[na:na]
> at
> java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:358)
> ~[na:na]
> at
> java.naming/com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:341)
> ~[na:na]
> at
> java.naming/javax.naming.directory.InitialDirContext.search(InitialDirContext.java:296)
> ~[na:na]
> at
> org.apache.camel.component.ldap.LdapProducer.simpleSearch(LdapProducer.java:125)
> ~[camel-ldap-3.12.0.jar:3.12.0]
> at
> org.apache.camel.component.ldap.LdapProducer.process(LdapProducer.java:79)
> ~[camel-ldap-3.12.0.jar:3.12.0]
> at
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
> ~[camel-support-3.12.0.jar:3.12.0]
> at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172)
> ~[camel-core-processor-3.12.0.jar:3.12.0]
> at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:469)
> ~[camel-core-processor-3.12.0.jar:3.12.0]
> at
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:179)
> ~[camel-base-engine-3.12.0.jar:3.12.0]
> at
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
> ~[camel-base-engine-3.12.0.jar:3.12.0]
> at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:216)
> ~[camel-core-processor-3.12.0.jar:3.12.0]
> at
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
> ~[camel-base-engine-3.12.0.jar:3.12.0]
> at
> org.apache.camel.processor.WireTapProcessor$WireTapTask.run(WireTapProcessor.java:126)
> ~[camel-core-processor-3.12.0.jar:3.12.0]
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
> ~[na:na]
> at
> java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
> ~[na:na]
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) ~[na:na]
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
> ~[na:na]
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> ~[na:na]
> at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na] {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)