Updated version of fosstrak-epcis

33 views
Skip to first unread message

djbur...@gmail.com

unread,
Mar 28, 2018, 8:52:03 AM3/28/18
to fosstrak
I've been looking at version 0.5.0 as I needed to make a change to reduce the amount of needless logging by EventFieldExtension.java.

To do this, I needed to get a working version on my current machine, using:
Netbeans 8.2
Maven 3.5.3
JDK 8.0.162
Tomcat 9.0.6
MySQL 5.7.17

This required updates to the pom.xml files plus a few lines of code. I've also amended the sample sql files to add indices to speed up queries. I've now got a compiled working version, and have created a pull request on GitHub.

Incidentally, I also tried updating all dependencies & plugins to the latest available version, but, although I could get everything to compile and run (with a few minor changes to code here & there), I could not actually access the webservice - I just kept getting "No services have been found". I imagine something's changed in the more recent versions of CXF that means earlier code no longer works correctly. I checked through all the annotations but could not see anything wrong.

(I also had another look at the epcis-webadapter, but am convinced the whole approach is fundamentally broken - the first thing it does on startup is attempt to download the entire database in order to generate a list of reader/business locations. If there was a standard EPCIS query to "get all locations" (which could then query the reader/bizloc tables directly) the webadapter could be re-written, but I don't think there is.)

djbur...@gmail.com

unread,
Apr 5, 2018, 8:19:57 AM4/5/18
to fosstrak
Only one view of my post, and I think that was me... Do I assume this forum is dead, and Fosstrak too??!

Rodrigo Klein

unread,
Apr 5, 2018, 8:31:36 AM4/5/18
to foss...@googlegroups.com
Hi!

I am not sure about it.

In my case I am following the messages because I am working in EPCIS projects related to traceability in supply chain (not RFID).







--
You received this message because you are subscribed to the Google Groups "fosstrak" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fosstrak+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



Esta mensagem pode conter informação confidencial ou privilegiada, sendo seu sigilo protegido por lei. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Se você recebeu esta mensagem por engano, por favor, avise imediatamente ao remetente, respondendo o e-mail e em seguida apague-a. Agradecemos sua cooperação.


This message may contain confidential or privileged information and its confidentiality is protected by law. If you are not the addressed or authorized person to receive this message, you must not use, copy, disclose or take any action based on it or any information herein. If you have received this message by mistake, please advise the sender immediately by replying the e-mail and then deleting it. 
Thank you for your cooperation.

Marco Steybe

unread,
Apr 8, 2018, 4:56:34 PM4/8/18
to foss...@googlegroups.com
Well, last commits to the project are 5+ years old and as you noticed yourself, technology is outdated. This project is in serious need of an update!

Your work is a great start to it! Would be great if you could share it on https://github.com/Fosstrak/fosstrak-epcis!

That said, I must admit that I haven't been working with the project or EPCIS at all since those 5+ years. And I guess I cannot help much with your current problem.
Do you have any error message in the log? Have you consulted the CXF Migration Guides (http://cxf.apache.org/docs/migration-guides.html)?

Best regards,
Marco

On Thu, Apr 5, 2018 at 2:31 PM Rodrigo Klein <rodrig...@t2software.com.br> wrote:
Hi!

I am not sure about it.

In my case I am following the messages because I am working in EPCIS projects related to traceability in supply chain (not RFID).






On Thu, Apr 5, 2018 at 9:19 AM, <djbur...@gmail.com> wrote:
Only one view of my post, and I think that was me... Do I assume this forum is dead, and Fosstrak too??!



On Wednesday, March 28, 2018 at 1:52:03 PM UTC+1, djbur...@gmail.com wrote:
I've been looking at version 0.5.0 as I needed to make a change to reduce the amount of needless logging by EventFieldExtension.java.

To do this, I needed to get a working version on my current machine, using:
Netbeans 8.2
Maven 3.5.3
JDK 8.0.162
Tomcat 9.0.6
MySQL 5.7.17

This required updates to the pom.xml files plus a few lines of code. I've also amended the sample sql files to add indices to speed up queries. I've now got a compiled working version, and have created a pull request on GitHub.

Incidentally, I also tried updating all dependencies & plugins to the latest available version, but, although I could get everything to compile and run (with a few minor changes to code here & there), I could not actually access the webservice - I just kept getting "No services have been found". I imagine something's changed in the more recent versions of CXF that means earlier code no longer works correctly. I checked through all the annotations but could not see anything wrong.

(I also had another look at the epcis-webadapter, but am convinced the whole approach is fundamentally broken - the first thing it does on startup is attempt to download the entire database in order to generate a list of reader/business locations. If there was a standard EPCIS query to "get all locations" (which could then query the reader/bizloc tables directly) the webadapter could be re-written, but I don't think there is.)

--
You received this message because you are subscribed to the Google Groups "fosstrak" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fosstrak+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Esta mensagem pode conter informação confidencial ou privilegiada, sendo seu sigilo protegido por lei. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Se você recebeu esta mensagem por engano, por favor, avise imediatamente ao remetente, respondendo o e-mail e em seguida apague-a. Agradecemos sua cooperação.


This message may contain confidential or privileged information and its confidentiality is protected by law. If you are not the addressed or authorized person to receive this message, you must not use, copy, disclose or take any action based on it or any information herein. If you have received this message by mistake, please advise the sender immediately by replying the e-mail and then deleting it. 
Thank you for your cooperation.

--
You received this message because you are subscribed to the Google Groups "fosstrak" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fosstrak+u...@googlegroups.com.

djbur...@gmail.com

unread,
Apr 10, 2018, 7:50:20 AM4/10/18
to fosstrak
Indeed Marco:-)

However, three years or so ago it was moved from Googlecode to Github, due to the former closing down, so it would appear that, at least as recently as that, people were still interested in it.

And yes, I have added a Pull request on Github, which are the bare minimum changes required to get it to compile under JDK8. I'm not sure id anyone is monitoring the project though, and therefore whether anyone with appropriate authority is able to deal with it?

I have now managed to get Spring/Hibernate/CXF updated to versions 3.2.18.RELEASE/3.6.10.FINAL/2.2.12 respectively, but going beyond CXF 2.2.12 results in "No services have been found." when trying to access the web service. That's as far as I've got, still working on it. If my first pull request can be dealt with, I'll add another with the additional changes I've made so far.

Incidentally, I also looked at https://github.com/JaewookByun/epcis as an alternative, but it seemed to be a rather large overkill for the simple long-term demo I've been running (plus I would have to rebuild all my tables:-) ). Anyone else tried it and got comments?

Regards,
Dave

djbur...@gmail.com

unread,
Apr 10, 2018, 8:12:10 AM4/10/18
to fosstrak
Sorry, meant to add, yes I've looked at the migration guides. Specifically (as it seems to be where things are falling apart):
http://cxf.apache.org/docs/23-migration-guide.html

However, I couldn't see anything there to cause concern.

I have compared the logfiles I get when using CXF 2.2.12 and 2.3.0. The following differences seem to be significant:

These lines do not appear when using 2.2.12:
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader:316] - Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-http.xml]
[...]
[org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor:72] - Checking bean org.apache.cxf.service.factory.FactoryBeanListenerManager
[...]
[org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor:72] - Checking bean org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder
[org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor:72] - Checking bean org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder
[org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor:72] - Checking bean org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider
[org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor:72] - Checking bean org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory

Later, these lines do not appear when using 2.3.0:
[org.apache.cxf.common.injection.ResourceInjector:191] - failed to resolve resource org.apache.cxf.bus.resource.ResourceManagerImpl/bus
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.binding.BindingFactoryManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.transport.DestinationFactoryManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.transport.ConduitInitiatorManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.transports.http.configuration.HTTPServerPolicy for parent: javax.wsdl.Port
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.bindings.xformat.XMLFormatBinding for parent: javax.wsdl.Binding
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.transports.http.configuration.HTTPClientPolicy for parent: javax.wsdl.Port
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.bindings.xformat.XMLBindingMessageFormat for parent: javax.wsdl.BindingOutput
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.bindings.xformat.XMLBindingMessageFormat for parent: javax.wsdl.BindingInput
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.ws.addressing.wsdl.UsingAddressing for parent: javax.wsdl.Binding
[org.apache.cxf.wsdl11.WSDLManagerImpl:261] - Registering extension: org.apache.cxf.wsdl.http.AddressType for parent: javax.wsdl.Port
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.wsdl11.WSDLManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.workqueue.WorkQueueManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.buslifecycle.CXFBusLifeCycleManager/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.endpoint.ServerRegistryImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.transport.http.QueryHandlerRegistryImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.headers.HeaderManagerImpl/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <org.apache.cxf.catalog.OASISCatalogManager/bus> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <null> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <cxf> type <interface org.apache.cxf.Bus>
[org.apache.cxf.resource.DefaultResourceManager:89] - resolving resource <cxf> type <interface org.apache.cxf.Bus>

Later still, *both* files have:
(v2.2.12)
[org.apache.cxf.configuration.spring.ConfigurerImpl:158] - Could not find a definition for bean with id {http://query.repository.epcis.fosstrak.org/}QueryOperationsWebServicePort.jaxws-endpoint - no injection will be performed.
[org.apache.cxf.configuration.spring.ConfigurerImpl:158] - Could not find a definition for bean with id org.apache.cxf.jaxws.JaxWsServerFactoryBean - no injection will be performed.
[org.apache.cxf.service.factory.ReflectionServiceFactoryBean:399] - Creating Service {http://query.repository.epcis.fosstrak.org/}QueryOperationsWebServiceService from class org.fosstrak.epcis.soap.EPCISServicePortType

(v2.3.0)
[org.apache.cxf.configuration.spring.ConfigurerImpl:160] - Could not find a definition for bean with id {http://query.repository.epcis.fosstrak.org/}QueryOperationsWebServicePort.jaxws-endpoint - no injection will be performed.
[org.apache.cxf.configuration.spring.ConfigurerImpl:160] - Could not find a definition for bean with id org.apache.cxf.jaxws.JaxWsServerFactoryBean - no injection will be performed.
[org.apache.cxf.service.factory.ReflectionServiceFactoryBean:409] - Creating Service {http://query.repository.epcis.fosstrak.org/}QueryOperationsWebServiceService from class org.fosstrak.epcis.soap.EPCISServicePortType

(note change of line number, but same message)
So, according to that, no injection is happening, yet a service is being created. And I can access the service when using 2.2.12, but not 2.3.0...!!

Unless I'm really barking up the wrong tree...?

Regards,
Dave

djbur...@gmail.com

unread,
May 2, 2018, 7:18:38 AM5/2/18
to fosstrak
I've now created another pull request - I've added in the changes I've made to get spring/hibernate/cxf versions as high as I can.

I also started down the process of addressing some Java code recommendations (e.g. in Javadoc), though there is no functional change.

Dave
Reply all
Reply to author
Forward
0 new messages