Hi JB, Great, thanks. As a temporary solution, where in the servicemix code do I need to change to bypass the Servicemix interceptor for LDAP contexts?
Cheers, Dan Jean-Baptiste Onofré wrote: > > Hi Dan, > > Yes, I have already seen this problem. > > For your information, I have begun to implement a servicemix-ldap > binding component. It's not yet released, but I'm going to resume code > on it. You can get the current source code here: > http://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-ldap/trunk/ > > Nevertheless, if you want to use the Camel LDAP component, you can raise > a jira task to change at least the ServiceMix initial context factory > extend or to be able to bypass the ServiceMix interceptor. > > Regards > JB > > Dan Salt wrote: >> Hi, >> >> I'm trying to get LDAP working in Camel via ServiceMix 4. However, I get >> an >> exception when trying to use the "search" method against the LDAP >> "DirContext" object (obtained either using the Camel ProducerTemplate, or >> directly in code). >> >> I have diagnosed the problem via debugging, and have sourced the problem >> to >> servicemix.naming.InitialContextWrapper. When the LDAP InitialContext is >> created, Servicemix is internally intercepting this and inserting an >> InitialContextWrapper instead. >> >> This InitialContextWrapper extends InitialContext, not DirContext, and so >> when the Java LDAP classes try to execute the "search(...)" method, it >> checks to see if the Default Context is an instanceof "DirContext", which >> it >> isn't, and throws an exception. >> >> 22:42:14,203 | WARN | enerContainer-43 | EndpointMessageListener >> | >> nent.jms.EndpointMessageListener 98 | >> Endpoint[activemq:queue:spf-jms-endpoint] consumer caught an exception >> while >> processing JMS message: ActiveMQTextMessage {commandId = 8, >> responseRequired >> = true, messageId = ID:saltda-cbg-3684-1246329564484-0:0:2:1:1, >> originalDestination = null, originalTransactionId = null, producerId = >> ID:saltda-cbg-3684-1246329564484-0:0:2:1, destination = >> queue://spf-jms-endpoint, transactionId = null, expiration = >> 1246329584875, >> timestamp = 1246329564875, arrival = 0, brokerInTime = 1246329564875, >> brokerOutTime = 1246329564875, correlationId = >> ID-saltda-cbg/3683-1246329563750/3-0, replyTo = >> temp-queue://ID:saltda-cbg-3684-1246329564484-0:0:1, persistent = true, >> type >> = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId >> = >> null, compressed = false, userID = null, content = null, >> marshalledProperties = org.apache.activemq.util.byteseque...@5faa7, >> dataStructure = null, redeliveryCounter = 0, size = 0, properties = >> {SPF_SERVICE_NAME=http://spf.sse.ge/ExampleObjectService/GetObjectValue}, >> readOnlyProperties = true, readOnlyBody = true, droppable = false, text = >> <?xml version="1.0" encoding="UTF-8" standalo...ObjectValue>} >> org.apache.camel.RuntimeCamelException: javax.naming.NotContextException: >> Not an instance of DirContext >> at >> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:845) >> at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:138) >> at >> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:101) >> at >> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:105) >> at >> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:121) >> at >> org.apache.camel.impl.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:201) >> at ge.sse.spf.spf_core_eips.ServiceLookup.process(ServiceLookup.java:38) >> >> Please can anyone advise how to get around this - as it's a total >> show-stopper for me. My only option is to run all my Camel routes OUTSIDE >> of >> Servicemix, which isn't the solution I want. >> >> Many thanks, >> Dan Salt > > -- View this message in context: http://www.nabble.com/ServiceMix-InitialContextWrapper-breaks-LDAP-Requests-tp24266066p24271024.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
