Hi Andreas,

That looks like an issue specific to your setup. It seems it's not finding
some of the other modules that the opcua driver and the example rely on.
Can you build the entire project 'mvn clean && mvn install'?

If you could send through some more info, maven logs, etc.. it would be
helpful.

Kind Regards

Ben


On Fri, Mar 5, 2021 at 6:27 AM Andreas Vogler <[email protected]>
wrote:

> Hi Ben,
>
> with this Branch I get a build error - just opened it in Intellij and
> tried to run the subscribe example...
>
> /Users/vogler/Workspace/Private/plc4x/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/configuration/AdsConfiguration.java:23:43
> java: package org.apache.plc4x.java.ads.readwrite does not exist
>
> I see in e.g. OpcuaField.java: Cannot resolve symbol 'OpcuaIdentifierType'
>
> Regards,
> Andreas
>
> > On 05.03.2021, at 11:05, Ben Hutcheson <[email protected]> wrote:
> >
> > Hi Andreas,
> >
> > I also saw the same issue running the example. I have just pushed a
> branch
> > to fix this bug/opcua_subscription. If you can try it out that would be
> > great.
> >
> > Kind Regards
> >
> > Ben
> >
> > On Wed, Mar 3, 2021 at 3:12 PM Andreas Vogler
> <[email protected]>
> > wrote:
> >
> >> Hi Matthias,
> >>
> >> It’s
> >> * Java 11.0.9 (Amazon Corretto)
> >> * Intellij 2020.3.2
> >> * git clone https://github.com/apache/plc4x.git <
> >> https://github.com/apache/plc4x.git>
> >>
> >> The attached stack trace was from my project - Kotlin - maybe “app”
> comes
> >> from there.
> >> But you can just use the subscription example from the plc4x.git, it
> >> throws the same error.
> >>
> >> Regards,
> >> Andreas
> >>
> >>
> >>
> >>> On 03.03.2021, at 21:04, Matthias Milan Strljic <
> >> [email protected]> wrote:
> >>>
> >>> Hi Andreas,
> >>>
> >>> can you give us a bit more information about your scenario and setup?
> >>> Project config, java version, java jvm, IDE environment, PLC4X version
> /
> >>> Github branch?
> >>> Because the " are in unnamed module of loader 'app'" confuses me a bit.
> >>>
> >>> Greetings Matthias
> >>>
> >>> ------------------------------
> >>>> *Von:* Christofer Dutz <[email protected]>
> >>>> *Gesendet:* Mittwoch, 3. März 2021 20:40
> >>>> *An:* [email protected]
> >>>> *Betreff:* AW: OPC UA Subscribe throws casting error ...
> >>>>
> >>>> Hi,
> >>>>
> >>>> perhaps Matthias can help you with this one?
> >>>>
> >>>> Chris
> >>>>
> >>>>
> >>>> -----Ursprüngliche Nachricht-----
> >>>> Von: Andreas Vogler <[email protected]>
> >>>> Gesendet: Mittwoch, 3. März 2021 20:22
> >>>> An: [email protected]
> >>>> Betreff: Re: OPC UA Subscribe throws casting error ...
> >>>>
> >>>> Same happens with the plc4j hello-world-plc4x-subscription example
> from
> >>>> the GitHub repository.
> >>>>
> >>>>> On 03.03.2021, at 18:00, Andreas Vogler
> <[email protected]
> >>>
> >>>> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> I have tried to subscribe to an OPC UA node - just took the few lines
> >>>> from the subscription example - and I get following stack trace.
> >>>>>
> >>>>> I hope someone can tell me what I am doing wrong… :-)
> >>>>>
> >>>>> val builder: PlcSubscriptionRequest.Builder =
> >>>>> plc!!.subscriptionRequestBuilder()
> >>>>> topics.forEach {
> >>>>>  builder.addChangeOfStateField(it.payload, it.payload) } val request
> >>>>> = builder.build() val response = request.execute() val
> >>>>> subscribeResponse = response.get() ==> the exception is thrown here
> >>>>>
> >>>>> [2021-03-03 17:52:26][INFO   ][opc                           ]
> >> Subscribe
> >>>> nodes [1]
> >>>>> java.util.concurrent.ExecutionException:
> java.lang.ClassCastException:
> >>>> class org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField
> >> cannot be
> >>>> cast to class org.apache.plc4x.java.opcua.protocol.OpcuaField
> >>>> (org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField and
> >>>> org.apache.plc4x.java.opcua.protocol.OpcuaField are in unnamed module
> of
> >>>> loader 'app')
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
> >>>>>      at Plc4xVerticle.subscribeNodes(Plc4xVerticle.kt:84)
> >>>>>      at Plc4xVerticle.subscribeTopics(Plc4xVerticle.kt:66)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.subscribeTopic(DriverBase.kt:170)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.subscribeHandler(DriverBase.kt:127)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.access$subscribeHandler(DriverBase.kt:24)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase$connectHandlers$2.handle(DriverBase.kt:105)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase$connectHandlers$2.handle(DriverBase.kt:24)
> >>>>>      at
> >>>> io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:52)
> >>>>>      at
> >>>> io.vertx.core.impl.DuplicatedContext.emit(DuplicatedContext.java:194)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.dispatch(MessageConsumerImpl.java:177)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.next(HandlerRegistration.java:163)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.dispatch(HandlerRegistration.java:128)
> >>>>>      at
> >>>> io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:107)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration.dispatch(HandlerRegistration.java:104)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.deliver(MessageConsumerImpl.java:183)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.doReceive(MessageConsumerImpl.java:168)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration.lambda$receive$0(HandlerRegistration.java:54)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
> >>>>>      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
> >>>>>      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:829)
> >>>>> Caused by: java.lang.ClassCastException: class
> >>>> org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField cannot be
> >> cast
> >>>> to class org.apache.plc4x.java.opcua.protocol.OpcuaField
> >>>> (org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField and
> >>>> org.apache.plc4x.java.opcua.protocol.OpcuaField are in unnamed module
> of
> >>>> loader 'app')
> >>>>>      at
> >>>>
> >>
> org.apache.plc4x.java.opcua.connection.OpcuaTcpPlcConnection.lambda$subscribe$3(OpcuaTcpPlcConnection.java:388)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
> >>>>>      at
> >>>>
> java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
> >>>>>      at
> >>>>>
> java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorker
> >>>>> Thread.java:183)
> >>>>> java.util.concurrent.ExecutionException:
> java.lang.ClassCastException:
> >>>> class org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField
> >> cannot be
> >>>> cast to class org.apache.plc4x.java.opcua.protocol.OpcuaField
> >>>> (org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField and
> >>>> org.apache.plc4x.java.opcua.protocol.OpcuaField are in unnamed module
> of
> >>>> loader 'app')
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
> >>>>>      at Plc4xVerticle.subscribeNodes(Plc4xVerticle.kt:84)
> >>>>>      at Plc4xVerticle.subscribeTopics(Plc4xVerticle.kt:66)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.subscribeTopic(DriverBase.kt:170)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.subscribeHandler(DriverBase.kt:127)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase.access$subscribeHandler(DriverBase.kt:24)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase$connectHandlers$2.handle(DriverBase.kt:105)
> >>>>>      at
> >>>>
> >>
> at.rocworks.gateway.core.driver.DriverBase$connectHandlers$2.handle(DriverBase.kt:24)
> >>>>>      at
> >>>> io.vertx.core.impl.EventLoopContext.emit(EventLoopContext.java:52)
> >>>>>      at
> >>>> io.vertx.core.impl.DuplicatedContext.emit(DuplicatedContext.java:194)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.dispatch(MessageConsumerImpl.java:177)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.next(HandlerRegistration.java:163)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.dispatch(HandlerRegistration.java:128)
> >>>>>      at
> >>>> io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:107)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration.dispatch(HandlerRegistration.java:104)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.deliver(MessageConsumerImpl.java:183)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.MessageConsumerImpl.doReceive(MessageConsumerImpl.java:168)
> >>>>>      at
> >>>>
> >>
> io.vertx.core.eventbus.impl.HandlerRegistration.lambda$receive$0(HandlerRegistration.java:54)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
> >>>>>      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
> >>>>>      at
> >>>>
> >>
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
> >>>>>      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:829)
> >>>>> Caused by: java.lang.ClassCastException: class
> >>>> org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField cannot be
> >> cast
> >>>> to class org.apache.plc4x.java.opcua.protocol.OpcuaField
> >>>> (org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionField and
> >>>> org.apache.plc4x.java.opcua.protocol.OpcuaField are in unnamed module
> of
> >>>> loader 'app')
> >>>>>      at
> >>>>
> >>
> org.apache.plc4x.java.opcua.connection.OpcuaTcpPlcConnection.lambda$subscribe$3(OpcuaTcpPlcConnection.java:388)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
> >>>>>      at
> >>>>
> java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
> >>>>>      at
> >>>>
> >>
> java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
> >>>>>      at
> >>>>>
> java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorker
> >>>>> Thread.java:183)
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to