eclipse-basyx / basyx-java-server-sdk

MIT License
59 stars 46 forks source link

Problem with Adding DataBridge to Docker-Compose File #326

Open CanAraz22 opened 5 months ago

CanAraz22 commented 5 months ago

Hello,

I was trying out the examples (https://github.com/eclipse-basyx/basyx-java-server-sdk/tree/main/examples) provided before the most recent released update and was looking to add the DataBridge as an off-the-shelf component to the provided Docker-Compse file.

My goal is to retrieve the data from a datasource (HTTP endpoint) and push it via DataBridge into the SubmodelElements.

I have encountered some difficulties and am hoping you can help me with them.

"Datasource": The datasource (value_generator) is a Python script that generates new values with each GET request. value_generator.txt start_value_generator.txt

"AAS Server": docker-compose.txt mosquitto.conf.txt aas-env-porperties.txt sm-registry.txt aas-registry.txt

".AASX" AAS.zip

"Databridge-Config.": aasserver.txt httpconsumer.txt routes.txt timerconsumer.txt start_databridge.txt

The problem that I am encountering is as follows:

Part 1: problem_1

Part 2: problem_2

Thank you in advance.

FriedJannik commented 5 months ago

Hi @CanAraz22, Thank you for raising an issue, we will take a look at it and get back to you.

aaronzi commented 4 months ago

Hello @CanAraz22,

looking at the error you get it seems like your python server can't be reached by the DataBridge. The DataBridge receives a connection-refused when accessing the server. Please check if your python program works as expected. Also make sure that if the python server runs in a container that localhost won't work. Please check if the port you are trying to use is not already occupied.

CanAraz22 commented 4 months ago

Hello @aaronzi,

thank you for the quick response. I managed to resolve my previous issue, but I am now facing a new problem. The DataBridge successfully retrieves data from the datasource and sends it to the specified endpoint. However, the data is not being processed correctly:

"the working DataBridge": Error

"final result": Output

While the value keeps changing with each new GET request, the output '{' stays the same. I hope that you can help me further.

Thank you in advance.

aaronzi commented 4 months ago

Is the DataBridge configuration still the same? It would be helpful if you could send the entire project as a .zip file containing a docker-compose.yml file. This way I can just download and execute it.

CanAraz22 commented 4 months ago

Hello @aaronzi,

thank you for the quick response. Here is the entire project: aas_basyx_project.zip

aaronzi commented 1 month ago

Hello @CanAraz22,

I am very sorry for the late reply. The problem that you encounter is caused by the missing configuration for the data transformation. Your webserver provides a response in json format to the databridge. This response has multiple lines and has the form of a json object. Therefore when you don't use any transformations just the first line will be used which would be the character "{".

To fix the problen you should use a jsonata transformer to extract the value that you want to write to your AAS. You can find an example for how to do this here.

Again, I am very sorry for the late reply. I hope this will help you solve the problem.