Hi,

here Chris should have a look, I think.

Julian

Am 24.02.20, 09:44 schrieb "Etienne Robinet" <[email protected]>:

    Hello,
    I also did some tests on AB PLCs and got a similar error with the PLC4X 
HelloWorld:
    
     WARN  o.a.p.j.b.GeneratedDriverByteToMessageCodec - Error decoding package 
with content [010100000000000001000000000000000000000000000000]: Index 24 out 
of bounds for length 24
    
    
    
    PS: I also had to change the port for AB from 2222 to 44818 as the 
connection was refused.
    On 2020/02/21 14:53:26, Christofer Dutz <[email protected]> wrote: 
    > Hi Etienne,
    > 
    > that error is coming from the S7 optimizer which takes care of splitting 
up large plc4x requests into smaller ones, depending on the PDU size negotiated 
with the PLC.
    > 
    > Could you please do a wireshark dump of the communication and send that 
to me (this list doesn't accept attachments) ... or you upload it to some file 
sharing service and post a link here.
    > 
    > Chris
    > 
    > 
    > 
    > Am 21.02.20, 15:30 schrieb "Etienne Robinet" <[email protected]>:
    > 
    >     Hi,
    >     
    >     after getting these results on reading fom the PLC, I tried writing. 
After some test I managed to send a write request but here's what I am getting 
as error: 
    >     
    >     java.util.concurrent.ExecutionException: 
java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 1 out of 
bounds for byte[0]
    >             at 
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) 
~[?:?]
    >             at 
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) ~[?:?]
    >             at 
org.apache.plc4x.camel.Plc4XProducer.process(Plc4XProducer.java:68) ~[?:?]
    >             at 
org.apache.plc4x.camel.Plc4XProducer.process(Plc4XProducer.java:86) ~[?:?]
    >             at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) 
~[!/:2.24.2]
    >             at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
 [!/:2.24.2]
    >             at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
 [!/:2.24.2]
    >             at 
org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [!/:2.24.2]
    >             at 
org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [!/:2.24.2]
    >             at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
 [!/:2.24.2]
    >             at 
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:197)
 [!/:2.24.2]
    >             at 
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:79) 
[!/:2.24.2]
    >             at java.util.TimerThread.mainLoop(Timer.java:556) [?:?]
    >             at java.util.TimerThread.run(Timer.java:506) [?:?]
    >     Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last 
source index 1 out of bounds for byte[0]
    >             at java.lang.System.arraycopy(Native Method) ~[?:?]
    >             at 
org.apache.plc4x.java.s7.netty.strategies.DefaultS7MessageProcessor.processNonBooleanWriteVarParameter(DefaultS7MessageProcessor.java:309)
 ~[?:?]
    >             at 
org.apache.plc4x.java.s7.netty.strategies.DefaultS7MessageProcessor.processWriteVarParameter(DefaultS7MessageProcessor.java:226)
 ~[?:?]
    >             at 
org.apache.plc4x.java.s7.netty.strategies.DefaultS7MessageProcessor.processRequest(DefaultS7MessageProcessor.java:98)
 ~[?:?]
    >             at 
org.apache.plc4x.java.s7.netty.S7Protocol.write(S7Protocol.java:178) ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:708)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:791)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:701)
 ~[?:?]
    >             at 
io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:112)
 ~[?:?]
    >             at 
io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:708)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext.access$1700(AbstractChannelHandlerContext.java:56)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1102)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1149)
 ~[?:?]
    >             at 
io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1073)
 ~[?:?]
    >             at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 ~[?:?]
    >             at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:416)
 ~[?:?]
    >             at 
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:515) ~[?:?]
    >             at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
 ~[?:?]
    >             at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[?:?]
    >             at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 ~[?:?]
    >             at java.lang.Thread.run(Thread.java:834) ~[?:?]
    >     
    >     Any ideas on that?
    >     Here is the route I built:
    >     
    >     <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; 
default-activation="lazy">
    >         <camelContext id="S7-PLC-Context" 
xmlns="http://camel.apache.org/schema/blueprint"; streamCache="true" >
    >             <route>
    >                 <from uri="timer://foo?fixedRate=true&period=5000" />
    >                 <setHeader  headerName="fieldName">
    >                     <constant>default</constant>
    >                 </setHeader>
    >                 <setHeader headerName="fieldQuery">
    >                     <constant>%DB1:4.0:STRING</constant>
    >                 </setHeader>
    >                 <setBody >
    >                     <simple>Hello</simple>
    >                 </setBody>
    >                 <log message=" Sending to PLC:  ${body} at 
${date:now:HH:mm:ss}" loggingLevel="INFO" />
    >                 <to uri="plc4x:s7://192.168.178.10/0/1" />
    >             </route>
    >         </camelContext>
    >     </blueprint>
    >     
    >     
    >     Etienne
    >     On 2020/02/20 07:50:39, Julian Feinauer 
<[email protected]> wrote: 
    >     > Thank you Etienne, I will try to reproduce the issue and have a 
look.
    >     > But dont know when I will find the time as I'm currently travelling 
: /
    >     > 
    >     > Julian
    >     > 
    >     > Am 19.02.20, 14:06 schrieb "Etienne Robinet" <[email protected]>:
    >     > 
    >     >     Hi,
    >     >     I started the Jira issue: 
https://issues.apache.org/jira/browse/PLC4X-177 
    >     >     Using this XML:
    >     >     
    >     >     <route>
    >     >                 <from uri="timer://foo?fixedRate=true&period=1000"/>
    >     >                 <pollEnrich>
    >     >                     
<constant>plc4x:s7://192.168.178.10/0/1?address=%MW102:INT</constant>
    >     >                 </pollEnrich>
    >     >                 <log message=" Sending ${body}" loggingLevel="INFO" 
/>
    >     >                 <to uri="mock:test?retainLast=10" />
    >     >     
    >     >     
    >     >     
    >     >             </route>
    >     >     
    >     >      it creates a PollingConsumer and reads every 1s. The problem 
is after every read, I get this warning 
    >     >     
    >     >     14:01:12.850 WARN [nioEventLoopGroup-2523-1] An 
exceptionCaught() event was fired, and it reached at the tail of the pipeline. 
It usually means the last handler in the pipeline did not handle the exception.
    >     >     java.io.IOException: An existing connection was forcibly closed 
by the remote host
    >     >             at sun.nio.ch.SocketDispatcher.read0(Native Method) 
~[?:?]
    >     >             at 
sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) ~[?:?]
    >     >             at 
sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) ~[?:?]
    >     >             at sun.nio.ch.IOUtil.read(IOUtil.java:233) ~[?:?]
    >     >             at sun.nio.ch.IOUtil.read(IOUtil.java:223) ~[?:?]
    >     >             at 
sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) ~[?:?]
    >     >             at 
io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:247) 
~[!/:4.1.39.Final]
    >     >             at 
io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1140) 
~[!/:4.1.39.Final]
    >     >             at 
io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347)
 ~[!/:4.1.39.Final]
    >     >             at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
 [!/:4.1.39.Final]
    >     >             at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:697) 
[!/:4.1.39.Final]
    >     >             at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:632)
 [!/:4.1.39.Final]
    >     >             at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:549) 
[!/:4.1.39.Final]
    >     >             at 
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:511) [!/:4.1.39.Final]
    >     >             at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
 [!/:4.1.39.Final]
    >     >             at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
[!/:4.1.39.Final]
    >     >             at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [!/:4.1.39.Final]
    >     >             at java.lang.Thread.run(Thread.java:834) [?:?]
    >     >     
    >     >     Seems like the connection is closed then opened again every 
time? Here you can see that I manage to get the data tho: 
https://i.imgur.com/K6TTwxA.png
    >     >     
    >     >     Etienne
    >     >     On 2020/02/19 12:20:40, Julian Feinauer 
<[email protected]> wrote: 
    >     >     > Hi Etienne,
    >     >     > 
    >     >     > thanks fort he update.
    >     >     > I think the Camel integration was never really used, so it 
could be a bit unhandy, so to say : )
    >     >     > Probably you create an Issue in Jira 
https://issues.apache.org/jira/projects/PLC4X/issues where we track all 
activites and can help you with improvements.
    >     >     > 
    >     >     > Best
    >     >     > Julian
    >     >     > 
    >     >     > Am 19.02.20, 12:50 schrieb "Etienne Robinet" 
<[email protected]>:
    >     >     > 
    >     >     >     Hi all,
    >     >     >     quick update, it worked on Camel inside Karaf with 
Julian's code. I managed to read from output, memento and datablock wit hthe 
correct adress input:
    >     >     >     
    >     >     >     <from 
uri="plc4x:s7://192.168.178.10/0/1?address=%25DB1:4.0:STRING"/>
    >     >     >     -"%25" gets encoded as "%" in XML
    >     >     >     -I fetch in the DB1 at byte 4 starting at his bit 0 and 
the data I want is a STRING.
    >     >     >     -To read a memento, this also worked: address+%25MW102:INT
    >     >     >     
    >     >     >     Now I am going to investigate the polling consumer, as I 
want to fetch the data from the PLC at a polling interval.
    >     >     >     
    >     >     >     Etienne
    >     >     >     On 2020/02/18 16:49:31, Etienne Robinet 
<[email protected]> wrote: 
    >     >     >     > I managed to get the tool working. By that I mean I got 
to to a read on my PLC, but seems like the connection is crashing afterwards.
    >     >     >     > 17:46:56.556 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Instantiating new PLC Driver Manager 
with class loader jdk.internal.loader.ClassLoaders$AppClassLoader@78308db1
    >     >     >     > 17:46:56.563 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering available drivers...
    >     >     >     > 17:46:56.579 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol s7 
(Siemens S7 (Basic))
    >     >     >     > 17:46:56.588 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol ab-eth 
(Allen Bradley ETH)
    >     >     >     > 17:46:56.628 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol ads 
(Beckhoff Twincat ADS)
    >     >     >     > 17:46:56.638 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol eip 
(EtherNet/IP (TCP))
    >     >     >     > 17:46:56.655 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol modbus 
(Modbus (TCP / Serial))
    >     >     >     > 17:46:56.723 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol opcua 
(OPC UA (TCP))
    >     >     >     > 17:46:56.736 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol test 
(PLC4X Test Protocol)
    >     >     >     > 17:46:57.059 [main] INFO  
o.a.p.j.s.connection.S7PlcConnection - Setting up S7 Connection with: host-name 
192.168.178.10, rack 0, slot 1, pdu-size 1024, max-amq-caller 8, max-amq-callee 
8
    >     >     >     > 17:46:58.758 [nioEventLoopGroup-2-1] INFO  
o.a.plc4x.java.s7.netty.S7Protocol - S7Connection established pdu-size 960, 
max-amq-caller 3, max-amq-callee 3
    >     >     >     > 17:46:58.776 [nioEventLoopGroup-2-1] INFO  
o.a.plc4x.java.s7.netty.S7Protocol - Successfully connected to S7: S7_1500 wit 
PDU 960
    >     >     >     > 17:46:58.800 [main] INFO  
o.a.p.j.e.helloplc4x.HelloPlc4x - Synchronous request ...
    >     >     >     > 17:46:58.836 [main] INFO  
o.a.p.j.e.helloplc4x.HelloPlc4x - Value[value-0]: true
    >     >     >     > 17:46:58.836 [main] INFO  
o.a.p.j.e.helloplc4x.HelloPlc4x - Asynchronous request ...
    >     >     >     > 17:46:58.838 [nioEventLoopGroup-2-1] INFO  
o.a.p.j.e.helloplc4x.HelloPlc4x - Value[value-0]: true
    >     >     >     > 17:46:58.844 [nioEventLoopGroup-2-1] WARN  
i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and 
it reached at the tail of the pipeline. It usually means the last handler in 
the pipeline did not handle the exception.
    >     >     >     > java.io.IOException: An existing connection was 
forcibly closed by the remote host
    >     >     >     >         at 
java.base/sun.nio.ch.SocketDispatcher.read0(Native Method)
    >     >     >     >         at 
java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
    >     >     >     >         at 
java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276)
    >     >     >     >         at 
java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233)
    >     >     >     >         at 
java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223)
    >     >     >     >         at 
java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358)
    >     >     >     >         at 
io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:247)
    >     >     >     >         at 
io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1140)
    >     >     >     >         at 
io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:347)
    >     >     >     >         at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
    >     >     >     >         at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:697)
    >     >     >     >         at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:632)
    >     >     >     >         at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:549)
    >     >     >     >         at 
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:511)
    >     >     >     >         at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
    >     >     >     >         at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    >     >     >     >         at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    >     >     >     >         at 
java.base/java.lang.Thread.run(Thread.java:834)
    >     >     >     > Disconnected from the target VM, address: 
'127.0.0.1:61672', transport: 'socket'
    >     >     >     > 
    >     >     >     > Process finished with exit code 0
    >     >     >     > 
    >     >     >     > This did the trick: I had o also enable PUT/GET on my 
PLC (via TIA Portal).
    >     >     >     > Etienne
    >     >     >     > On 2020/02/18 14:08:11, Etienne Robinet 
<[email protected]> wrote: 
    >     >     >     > > Hi, I tried the HelloPLC4X Tool, but it seems like he 
gets stuck. I'm still not sure about the arguments I am passing, here's the log 
    >     >     >     > > 
    >     >     >     > > 15:05:42.838 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Instantiating new PLC Driver Manager 
with class loader jdk.internal.loader.ClassLoaders$AppClassLoader@78308db1
    >     >     >     > > 15:05:42.874 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering available drivers...
    >     >     >     > > 15:05:42.892 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol s7 
(Siemens S7 (Basic))
    >     >     >     > > 15:05:42.899 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol ab-eth 
(Allen Bradley ETH)
    >     >     >     > > 15:05:42.933 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol ads 
(Beckhoff Twincat ADS)
    >     >     >     > > 15:05:42.941 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol eip 
(EtherNet/IP (TCP))
    >     >     >     > > 15:05:42.956 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol modbus 
(Modbus (TCP / Serial))
    >     >     >     > > 15:05:42.980 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol opcua 
(OPC UA (TCP))
    >     >     >     > > 15:05:43.018 [main] INFO  
o.apache.plc4x.java.PlcDriverManager - Registering driver for Protocol test 
(PLC4X Test Protocol)
    >     >     >     > > 15:05:43.553 [main] INFO  
o.a.p.j.s.connection.S7PlcConnection - Setting up S7 Connection with: host-name 
192.168.178.10, rack 0, slot 1, pdu-size 1024, max-amq-caller 8, max-amq-callee 
8
    >     >     >     > > 15:05:45.281 [nioEventLoopGroup-2-1] INFO  
o.a.plc4x.java.s7.netty.S7Protocol - S7Connection established pdu-size 960, 
max-amq-caller 3, max-amq-callee 3
    >     >     >     > > 15:05:45.299 [nioEventLoopGroup-2-1] INFO  
o.a.plc4x.java.s7.netty.S7Protocol - Successfully connected to S7: S7_1500 wit 
PDU 960
    >     >     >     > > 15:05:45.321 [main] INFO  
o.a.p.j.e.helloplc4x.HelloPlc4x - Synchronous request ... <-----STUCKED
    >     >     >     > > 
    >     >     >     > > 
    >     >     >     > > And here are the arguments I am passing:
    >     >     >     > > --connection-string s7://192.168.178.10/0/1 
--field-addresses %DB2:1.0:INT[1]
    >     >     >     > > 
    >     >     >     > > I also subscribed to the list ;-)
    >     >     >     > > 
    >     >     >     > > On 2020/02/18 13:28:24, Julian Feinauer 
<[email protected]> wrote: 
    >     >     >     > > > Hi Etienne,
    >     >     >     > > > 
    >     >     >     > > > first, you should try to just access it with the 
HelloPlc4X Tool, just to check that everything works.
    >     >     >     > > > And Second, please subscribe to the mailing list, 
otherwise all your mails have to go through moderation : )
    >     >     >     > > > 
    >     >     >     > > > Julian
    >     >     >     > > > 
    >     >     >     > > > Am 18.02.20, 14:22 schrieb "Etienne Robinet" 
<[email protected]>:
    >     >     >     > > > 
    >     >     >     > > >     Hi Julian, thanks for the fast reply!
    >     >     >     > > >     
    >     >     >     > > >     The route seems to be started, but I try to put 
the body in log (to check) but with no sucess. Here is what I get with your code
    >     >     >     > > >     
    >     >     >     > > >     https://i.imgur.com/biB9ZpW.png
    >     >     >     > > >     
    >     >     >     > > >     After checking the code a bit, I tried to adapt 
my route. I am trying to access a DB (number 2) on my PLC which has a 
String(Hello) and an Int(5). I then try to show the body of the component on 
the log to verify. Maybe my syntax of uri is again not correct?
    >     >     >     > > >     
    >     >     >     > > >     <from 
uri="plc4x:s7://192.168.178.10/0/1?address=%25DB2:2.0:STRING[1]&dataType=java.lang.String"/>
    >     >     >     > > >                 <log message=" Sending ${body}" 
loggingLevel="INFO" />
    >     >     >     > > >                 <to uri="mock:test?retainLast=10" />
    >     >     >     > > >     
    >     >     >     > > >     On 2020/02/18 12:28:53, Julian Feinauer 
<[email protected]> wrote: 
    >     >     >     > > >     > Hi Etienne,
    >     >     >     > > >     > 
    >     >     >     > > >     > fort he sake of easiness... could you do a 
short test if it works, when you Replace the Content of PLC4XConsumer.java with 
the following:
    >     >     >     > > >     > 
    >     >     >     > > >     > ```
    >     >     >     > > >     > /*
    >     >     >     > > >     >  Licensed to the Apache Software Foundation 
(ASF) under one
    >     >     >     > > >     >  or more contributor license agreements.  See 
the NOTICE file
    >     >     >     > > >     >  distributed with this work for additional 
information
    >     >     >     > > >     >  regarding copyright ownership.  The ASF 
licenses this file
    >     >     >     > > >     >  to you under the Apache License, Version 2.0 
(the
    >     >     >     > > >     >  "License"); you may not use this file except 
in compliance
    >     >     >     > > >     >  with the License.  You may obtain a copy of 
the License at
    >     >     >     > > >     > 
    >     >     >     > > >     >    http://www.apache.org/licenses/LICENSE-2.0
    >     >     >     > > >     > 
    >     >     >     > > >     >  Unless required by applicable law or agreed 
to in writing,
    >     >     >     > > >     >  software distributed under the License is 
distributed on an
    >     >     >     > > >     >  "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY
    >     >     >     > > >     >  KIND, either express or implied.  See the 
License for the
    >     >     >     > > >     >  specific language governing permissions and 
limitations
    >     >     >     > > >     >  under the License.
    >     >     >     > > >     >  */
    >     >     >     > > >     > package org.apache.plc4x.camel;
    >     >     >     > > >     > 
    >     >     >     > > >     > import org.apache.camel.*;
    >     >     >     > > >     > import org.apache.camel.spi.ExceptionHandler;
    >     >     >     > > >     > import 
org.apache.camel.support.LoggingExceptionHandler;
    >     >     >     > > >     > import 
org.apache.camel.support.ServiceSupport;
    >     >     >     > > >     > import 
org.apache.camel.util.AsyncProcessorConverterHelper;
    >     >     >     > > >     > import 
org.apache.plc4x.java.api.PlcConnection;
    >     >     >     > > >     > import 
org.apache.plc4x.java.api.exceptions.PlcException;
    >     >     >     > > >     > import 
org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
    >     >     >     > > >     > import 
org.apache.plc4x.java.api.messages.PlcUnsubscriptionRequest;
    >     >     >     > > >     > import 
org.apache.plc4x.java.api.messages.PlcUnsubscriptionResponse;
    >     >     >     > > >     > import org.slf4j.Logger;
    >     >     >     > > >     > import org.slf4j.LoggerFactory;
    >     >     >     > > >     > 
    >     >     >     > > >     > import java.util.Collection;
    >     >     >     > > >     > import java.util.concurrent.*;
    >     >     >     > > >     > 
    >     >     >     > > >     > public class Plc4XConsumer extends 
ServiceSupport implements Consumer {
    >     >     >     > > >     >     private static final Logger LOGGER = 
LoggerFactory.getLogger(Plc4XConsumer.class);
    >     >     >     > > >     > 
    >     >     >     > > >     >     private Plc4XEndpoint endpoint;
    >     >     >     > > >     >     private AsyncProcessor processor;
    >     >     >     > > >     >     private ExceptionHandler exceptionHandler;
    >     >     >     > > >     >     private PlcConnection plcConnection;
    >     >     >     > > >     >     private String fieldQuery;
    >     >     >     > > >     >     private Class<?> dataType;
    >     >     >     > > >     >     private PlcSubscriptionResponse 
subscriptionResponse;
    >     >     >     > > >     > 
    >     >     >     > > >     >     private ScheduledExecutorService 
executorService = Executors.newSingleThreadScheduledExecutor();
    >     >     >     > > >     >     private ScheduledFuture<?> future;
    >     >     >     > > >     > 
    >     >     >     > > >     >     public Plc4XConsumer(Plc4XEndpoint 
endpoint, Processor processor) throws PlcException {
    >     >     >     > > >     >         this.endpoint = endpoint;
    >     >     >     > > >     >         this.dataType = 
endpoint.getDataType();
    >     >     >     > > >     >         this.processor = 
AsyncProcessorConverterHelper.convert(processor);
    >     >     >     > > >     >         this.exceptionHandler = new 
LoggingExceptionHandler(endpoint.getCamelContext(), getClass());
    >     >     >     > > >     >         String plc4xURI = 
endpoint.getEndpointUri().replaceFirst("plc4x:/?/?", "");
    >     >     >     > > >     >         this.plcConnection = 
endpoint.getPlcDriverManager().getConnection(plc4xURI);
    >     >     >     > > >     >         this.fieldQuery = 
endpoint.getAddress();
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     @Override
    >     >     >     > > >     >     public String toString() {
    >     >     >     > > >     >         return "Plc4XConsumer[" + endpoint + 
"]";
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     @Override
    >     >     >     > > >     >     public Endpoint getEndpoint() {
    >     >     >     > > >     >         return endpoint;
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     public ExceptionHandler 
getExceptionHandler() {
    >     >     >     > > >     >         return exceptionHandler;
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     public void 
setExceptionHandler(ExceptionHandler exceptionHandler) {
    >     >     >     > > >     >         this.exceptionHandler = 
exceptionHandler;
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     @Override
    >     >     >     > > >     >     protected void doStart() throws 
InterruptedException, ExecutionException {
    >     >     >     > > >     >         // TODO: Is it correct to only 
support one field?
    >     >     >     > > >     >         future = executorService.schedule(() 
-> {
    >     >     >     > > >     >             plcConnection.readRequestBuilder()
    >     >     >     > > >     >                 .addItem("default", 
fieldQuery)
    >     >     >     > > >     >                 .build()
    >     >     >     > > >     >                 .execute()
    >     >     >     > > >     >                 .thenAccept(response -> {
    >     >     >     > > >     >                     LOGGER.debug("Received 
{}", response);
    >     >     >     > > >     >                     try {
    >     >     >     > > >     >                         Exchange exchange = 
endpoint.createExchange();
    >     >     >     > > >     >                         
exchange.getIn().setBody(unwrapIfSingle(response.getAllObjects("default")));
    >     >     >     > > >     >                         
processor.process(exchange);
    >     >     >     > > >     >                     } catch (Exception e) {
    >     >     >     > > >     >                         
exceptionHandler.handleException(e);
    >     >     >     > > >     >                     }
    >     >     >     > > >     >                 });
    >     >     >     > > >     >         }, 3, TimeUnit.SECONDS);
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     @Override
    >     >     >     > > >     >     protected void doStop() throws 
InterruptedException, ExecutionException, TimeoutException {
    >     >     >     > > >     >         // First stop the polling process
    >     >     >     > > >     >         if (future != null) {
    >     >     >     > > >     >             future.cancel(true);
    >     >     >     > > >     >         }
    >     >     >     > > >     >         // TODO: Handle the response ...
    >     >     >     > > >     >         try {
    >     >     >     > > >     >             plcConnection.close();
    >     >     >     > > >     >         } catch (Exception e) {
    >     >     >     > > >     >             LOGGER.error("Error closing 
connection", e);
    >     >     >     > > >     >         }
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     >     private Object unwrapIfSingle(Collection 
collection) {
    >     >     >     > > >     >         if (collection.isEmpty()) {
    >     >     >     > > >     >             return null;
    >     >     >     > > >     >         }
    >     >     >     > > >     >         if (collection.size() == 1) {
    >     >     >     > > >     >             return 
collection.iterator().next();
    >     >     >     > > >     >         }
    >     >     >     > > >     >         return collection;
    >     >     >     > > >     >     }
    >     >     >     > > >     > 
    >     >     >     > > >     > }
    >     >     >     > > >     > ```
    >     >     >     > > >     > 
    >     >     >     > > >     > Julian
    >     >     >     > > >     > 
    >     >     >     > > >     > 
    >     >     >     > > >     > Am 18.02.20, 13:22 schrieb "Julian Feinauer" 
<[email protected]>:
    >     >     >     > > >     > 
    >     >     >     > > >     >     Hi Etienne,
    >     >     >     > > >     >     
    >     >     >     > > >     >     oh, sorry, indeed. The Code in the Camel 
module is right, but does not work for Siemens S7.
    >     >     >     > > >     >     Let me try to write you an updated 
version in another branch ASAP then you can check it.
    >     >     >     > > >     >     
    >     >     >     > > >     >     Sorry!
    >     >     >     > > >     >     Julian
    >     >     >     > > >     >     
    >     >     >     > > >     >     Am 18.02.20, 12:56 schrieb "Etienne 
Robinet" <[email protected]>:
    >     >     >     > > >     >     
    >     >     >     > > >     >         I just cloned the rel/0.6 branch from 
git, until now I didn't change anything.
    >     >     >     > > >     >         Regards,,
    >     >     >     > > >     >         Etienne
    >     >     >     > > >     >         
    >     >     >     > > >     >         On 2020/02/18 11:10:39, Julian 
Feinauer <[email protected]> wrote: 
    >     >     >     > > >     >         > Did you post your code somewhere? I 
cant find it.. just post it somewhere and I will have a look!
    >     >     >     > > >     >         > 
    >     >     >     > > >     >         > Julian
    >     >     >     > > >     >         > 
    >     >     >     > > >     >         > Am 18.02.20, 11:28 schrieb "Etienne 
Robinet" <[email protected]>:
    >     >     >     > > >     >         > 
    >     >     >     > > >     >         >     Hi Julian,
    >     >     >     > > >     >         >     thanks for the advice, but 
where should I change the code to apply your modification? Is it in the 
doStart() methode of de PLC4XConsumer?
    >     >     >     > > >     >         >     Regards,
    >     >     >     > > >     >         >     
    >     >     >     > > >     >         >     Etienne
    >     >     >     > > >     >         >     
    >     >     >     > > >     >         >     On 2020/02/18 08:55:22, Julian 
Feinauer <[email protected]> wrote: 
    >     >     >     > > >     >         >     > Hi Etienne,
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     > thank you for your 
investigation.
    >     >     >     > > >     >         >     > I just locked at your log and 
it seems that connection works fine and some messages are exchanged BUT you try 
to subscribe to a Value which is currently not supported.
    >     >     >     > > >     >         >     > Try to just use the 
"readRequestBuilder().addItem("", "").build().execute().get()" approach to send 
a single request, that should work.
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     > Best
    >     >     >     > > >     >         >     > Julian
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     > Am 18.02.20, 09:39 schrieb 
"Etienne Robinet" <[email protected]>:
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     >     Hello,
    >     >     >     > > >     >         >     >     with the help of some 
colleague we managed to find how to fix the issue so that the DriverManager can 
find the actual s7 protocol.
    >     >     >     > > >     >         >     >     All I had to do is to 
create a maven project (karaf-blueprint) archetype and do as follow:
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     1. Inside the pom, add 
the S7PlcDriver under "imports"
    >     >     >     > > >     >         >     >     2. create a service under 
main/java/resources/META-INF/services/xxx.xxx.PlcDriver containing the 
implementation (S7PlcDriver) and license
    >     >     >     > > >     >         >     >     3. Create a simple XML 
blueprint (with a real address this time connected to a real PLC)
    >     >     >     > > >     >         >     >     <blueprint 
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; default-activation="lazy">
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >         <camelContext 
id="PLC-Context" xmlns="http://camel.apache.org/schema/blueprint"; 
streamCache="true">
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >             <route 
id="Route1">
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >                 <from 
uri="plc4x:s7://192.168.178.10/1/1"/>
    >     >     >     > > >     >         >     >                 <log 
message=" Sending ${body}" loggingLevel="INFO" />
    >     >     >     > > >     >         >     >                 <to 
uri="mock:test?retainLast=10" />
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >             </route>
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >         </camelContext>
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     </blueprint>
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     So now I have the next 
issue, I can see from the log that a connection is established but it tells me 
that the connection doesn't support connection. Am I missing a parameter or 
what could be the issue?
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     Here the log:
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     
https://i.imgur.com/KgWz8DF.png
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     >     On 2020/02/17 12:11:56, 
Christofer Dutz <[email protected]> wrote: 
    >     >     >     > > >     >         >     >     > Hi all,
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > having a more detailed 
look at the log-trace, it seems the DriverManager isn't able to find the S7 
driver at all ...
    >     >     >     > > >     >         >     >     > But I guess if it even 
was available, as Cesar pointed out, the field address is that of the mock 
driver and not of the S7 so this will not work.
    >     >     >     > > >     >         >     >     > Also are you connecting 
to localhost, which is also probably not what you want. Unless you are running 
a S7 simulator on your machine.
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > Depending of if you're 
using a released version of the s7 driver the connection URL is correct, 
however if you switch to the new S7 driver it would look like this:  s7://{ip 
or host}
    >     >     >     > > >     >         >     >     > Not the "/1/1" are now 
missing.
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > Chris
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > Am 17.02.20, 13:04 
schrieb "Cesar Garcia" <[email protected]>:
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     >     Hi,
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     The PLC address 
does not look correct, can you confirm that it really
    >     >     >     > > >     >         >     >     >     points to a real 
PLC or an S7 simulator?
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     <from 
uri="plc4x:s7:localhost/1/1"/>
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     Best regards,
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     El vie., 14 feb. 
2020 a las 18:34, Etienne Robinet (<[email protected]>)
    >     >     >     > > >     >         >     >     >     escribió:
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     > Hello everyone,
    >     >     >     > > >     >         >     >     >     > I've spent some 
days trying to figure out how to make PLC4X work inside a
    >     >     >     > > >     >         >     >     >     > karaf container 
in combination with camel blueprints for routing.
    >     >     >     > > >     >         >     >     >     > I've downloaded 
the latest release (0.5.0) and built it with maven. I then
    >     >     >     > > >     >         >     >     >     > installed the 
driver-s7-feature and plc4j-apache-camel bundle into my
    >     >     >     > > >     >         >     >     >     > container and got 
following bundles running:
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     > >PLC4J: API
    >     >     >     > > >     >         >     >     >     > >PLC4J: Driver: S7
    >     >     >     > > >     >         >     >     >     > >PLC4J: Protocol: 
Driver-Base: Base
    >     >     >     > > >     >         >     >     >     > >PLC4J: Protocol: 
Driver-Base: TCP
    >     >     >     > > >     >         >     >     >     > >PLC4J: Protocol: 
ISO on TCP
    >     >     >     > > >     >         >     >     >     > >PLC4J: Protocol: 
ISO TP
    >     >     >     > > >     >         >     >     >     > >PLC4J: Protocol: 
S7
    >     >     >     > > >     >         >     >     >     > >PLC4j: Utils: 
Driver Base: Java
    >     >     >     > > >     >         >     >     >     > >PLC4J: 
Integrations: Apache Camel
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     > After trying a 
simple route with this consumer component:
    >     >     >     > > >     >         >     >     >     > <from 
uri="plc4x:s7:localhost/1/1"/> (the address is for testing purpose)
    >     >     >     > > >     >         >     >     >     > I get the 
following error:
    >     >     >     > > >     >         >     >     >     > Error occurred 
during starting CamelContext: PLC-Context
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.FailedToCreateRouteException: Failed to create route
    >     >     >     > > >     >         >     >     >     > Route1: 
Route(Route1)[[From[plc4x:s7:localhost/1/1]] -> [To[mock:tes...
    >     >     >     > > >     >         >     >     >     > because of Unable 
to find driver for protocol 's7'
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     > I've tested 
numerous version of PLC4X and got the same results, so I think
    >     >     >     > > >     >         >     >     >     > I might be close 
to fix it!
    >     >     >     > > >     >         >     >     >     > Any help would be 
appreciated!
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     > Here the full log
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     > 16:30:45.578 INFO 
[Blueprint Event Dispatcher: 1] Attempting to start
    >     >     >     > > >     >         >     >     >     > CamelContext: 
PLC-Context
    >     >     >     > > >     >         >     >     >     > 16:30:45.579 INFO 
[Blueprint Event Dispatcher: 1] Apache Camel 2.24.2
    >     >     >     > > >     >         >     >     >     > (CamelContext: 
PLC-Context) is starting
    >     >     >     > > >     >         >     >     >     > 16:30:45.580 INFO 
[Blueprint Event Dispatcher: 1] StreamCaching is enabled
    >     >     >     > > >     >         >     >     >     > on CamelContext: 
PLC-Context
    >     >     >     > > >     >         >     >     >     > 16:30:45.580 INFO 
[Blueprint Event Dispatcher: 1] JMX is enabled
    >     >     >     > > >     >         >     >     >     > 16:30:45.600 INFO 
[Blueprint Event Dispatcher: 1] Instantiating new PLC
    >     >     >     > > >     >         >     >     >     > Driver Manager 
with class loader
    >     >     >     > > >     >         >     >     >     > 
BundleDelegatingClassLoader(plc4j-route.xml [67])
    >     >     >     > > >     >         >     >     >     > 16:30:45.600 INFO 
[Blueprint Event Dispatcher: 1] Registering available
    >     >     >     > > >     >         >     >     >     > drivers...
    >     >     >     > > >     >         >     >     >     > 16:30:45.601 
TRACE [Blueprint Event Dispatcher: 1] FindResource:
    >     >     >     > > >     >         >     >     >     > 
META-INF/services/org.apache.plc4x.java.spi.PlcDriver
    >     >     >     > > >     >         >     >     >     > 16:30:45.627 INFO 
[Blueprint Event Dispatcher: 1] StreamCaching in use
    >     >     >     > > >     >         >     >     >     > with spool 
directory:
    >     >     >     > > >     >         >     >     >     > 
C:\karaf\bin\..\data\tmp\camel\camel-tmp-00f849ac-0ccf-4b12-822d-dda62267eb6c
    >     >     >     > > >     >         >     >     >     > and rules: [Spool 
> 128K body size]
    >     >     >     > > >     >         >     >     >     > 16:30:45.629 INFO 
[Blueprint Event Dispatcher: 1] Apache Camel 2.24.2
    >     >     >     > > >     >         >     >     >     > (CamelContext: 
PLC-Context) is shutting down
    >     >     >     > > >     >         >     >     >     > 16:30:45.639 INFO 
[Blueprint Event Dispatcher: 1] Apache Camel 2.24.2
    >     >     >     > > >     >         >     >     >     > (CamelContext: 
PLC-Context) uptime 0.060 seconds
    >     >     >     > > >     >         >     >     >     > 16:30:45.640 INFO 
[Blueprint Event Dispatcher: 1] Apache Camel 2.24.2
    >     >     >     > > >     >         >     >     >     > (CamelContext: 
PLC-Context) is shutdown in 0.011 seconds
    >     >     >     > > >     >         >     >     >     > 16:30:45.640 WARN 
[Blueprint Event Dispatcher: 1] Changing Camel state for
    >     >     >     > > >     >         >     >     >     > bundle 67 to 
Failure
    >     >     >     > > >     >         >     >     >     > 16:30:45.641 
ERROR [Blueprint Event Dispatcher: 1] Error occurred during
    >     >     >     > > >     >         >     >     >     > starting 
CamelContext: PLC-Context
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.FailedToCreateRouteException: Failed to create route
    >     >     >     > > >     >         >     >     >     > Route1: 
Route(Route1)[[From[plc4x:s7:localhost/1/1]] -> [To[mock:tes...
    >     >     >     > > >     >         >     >     >     > because of Unable 
to find driver for protocol 's7'
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.RouteService.warmUp(RouteService.java:147)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:3954)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3861)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3647)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3488)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3247)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext$4.call(DefaultCamelContext.java:3243)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3266)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3243)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:72)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3159)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:255)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:297)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.blueprint.BlueprintCamelContext.blueprintEvent(BlueprintCamelContext.java:188)
    >     >     >     > > >     >         >     >     >     > [!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:190)
    >     >     >     > > >     >         >     >     >     > [!/:1.10.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:188)
    >     >     >     > > >     >         >     >     >     > [!/:1.10.2]
    >     >     >     > > >     >         >     >     >     >         at 
java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    >     >     >     > > >     >         >     >     >     > [?:?]
    >     >     >     > > >     >         >     >     >     >         at 
java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    >     >     >     > > >     >         >     >     >     > [?:?]
    >     >     >     > > >     >         >     >     >     >         at 
java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    >     >     >     > > >     >         >     >     >     > [?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    >     >     >     > > >     >         >     >     >     > [?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    >     >     >     > > >     >         >     >     >     > [?:?]
    >     >     >     > > >     >         >     >     >     >         at 
java.lang.Thread.run(Thread.java:834) [?:?]
    >     >     >     > > >     >         >     >     >     > Caused by: 
org.apache.plc4x.java.api.exceptions.PlcConnectionException:
    >     >     >     > > >     >         >     >     >     > Unable to find 
driver for protocol 's7'
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.plc4x.java.PlcDriverManager.getDriver(PlcDriverManager.java:98)
    >     >     >     > > >     >         >     >     >     > ~[?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.plc4x.java.PlcDriverManager.getConnection(PlcDriverManager.java:71)
    >     >     >     > > >     >         >     >     >     > ~[?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.plc4x.camel.Plc4XConsumer.<init>(Plc4XConsumer.java:57) ~[?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.plc4x.camel.Plc4XEndpoint.createConsumer(Plc4XEndpoint.java:72)
    >     >     >     > > >     >         >     >     >     > ~[?:?]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:69)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:107)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:172)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         at
    >     >     >     > > >     >         >     >     >     > 
org.apache.camel.impl.RouteService.warmUp(RouteService.java:145)
    >     >     >     > > >     >         >     >     >     > ~[!/:2.24.2]
    >     >     >     > > >     >         >     >     >     >         ... 24 
more
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     >
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     -- 
    >     >     >     > > >     >         >     >     >     *CEOS 
Automatización, C.A.*
    >     >     >     > > >     >         >     >     >     *GALPON SERVICIO 
INDUSTRIALES Y NAVALES FA, C.A.,*
    >     >     >     > > >     >         >     >     >     *PISO 1, OFICINA 2, 
AV. RAUL LEONI, SECTOR GUAMACHITO,*
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     *FRENTE A LA 
ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI*
    >     >     >     > > >     >         >     >     >     *Ing. César García*
    >     >     >     > > >     >         >     >     >     *Cel: 
0416-681.03.99*
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     *Cel: 
0414-760.98.95*
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     *Hotline Técnica 
SIEMENS: 0800 1005080*
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     >     *Email: 
[email protected]
    >     >     >     > > >     >         >     >     >     
<[email protected]>*
    >     >     >     > > >     >         >     >     >     
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     > 
    >     >     >     > > >     >         >     >     
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     > 
    >     >     >     > > >     >         >     
    >     >     >     > > >     >         > 
    >     >     >     > > >     >         > 
    >     >     >     > > >     >         
    >     >     >     > > >     >     
    >     >     >     > > >     >     
    >     >     >     > > >     > 
    >     >     >     > > >     > 
    >     >     >     > > >     
    >     >     >     > > > 
    >     >     >     > > > 
    >     >     >     > > 
    >     >     >     > 
    >     >     >     
    >     >     > 
    >     >     > 
    >     >     
    >     > 
    >     > 
    >     
    > 
    > 
    

Reply via email to