OpenLEADR / openleadr-python

Python library for OpenADR 2.0b
https://openleadr.org/docs
Apache License 2.0
135 stars 55 forks source link

Reading the XML messages in a VEN #131

Open juantxorena opened 2 years ago

juantxorena commented 2 years ago

Hello,

I'm trying to get the actual raw XML messages received (and sent) by a VEN, e.g. the events. I would like to save them somewhere for logging and debugging purposes. It looks like they are parsed and mapped in the client just as they are received, and I cannot access them in any way.

I've seen this old bug about hooks, but it seems it's only implemented in the VTN, not in the VEN. I also tried something with middlewares and hooks in aiohttp, but with no success. I'm quite inexperienced with python, so maybe I'm doing something wrong.

So, the question is, barring copying the whole openleadr locally and implementing what I need (which is obviously not ideal), is there any way of getting the messages before parsing in a VEN?

Thanks in advance.

stan-janssen commented 2 years ago

The XML messages are logged at the 'debug' level, which you can use to inspect the message.

I can look into adding a possible hook in the client that will allow you to add a handler before schema validation and parsing.

stan-janssen commented 2 years ago

I've added a simple hooks infrastructure where you'll get the raw XML messages delivered to a handler that you can register. See the documentation for more info. Let me know if this is helpful.

stan-janssen commented 1 year ago

@juantxorena; did you get a chance to try this addition to OpenLEADR?

axmsoftware commented 3 months ago

@stan-janssen do you plan to submit a PR for this change?