Bacnet Client Exception
-
cenk,
The problem appears to be that a request is being made for a property whose value is null. It seems that the correct response to this situation is for an "unknown property" error to be returned to requestor. If you want to prevent the error response, make sure there is a non-null value for the property.
I've checking in the code updates as well as a new build of the jar file.
-
Hi;
I think bacnet server application query property that not defined on client side. Is it possible.If It is this like how can I realize this properties?
Best Regards,
-
Set non-null values for the properties.
-
But I don't know which properties. Which properties query from server side
By The way sometimes this exception throws
com.serotonin.bacnet4j.npdu.ip.IpMessageControl$MessageValidationAssertionException: Network messages are not supported
at com.serotonin.bacnet4j.npdu.ip.IpMessageControl$IncomingMessageExecutor.runImpl(IpMessageControl.java:503)
at com.serotonin.bacnet4j.npdu.ip.IpMessageControl$IncomingMessageExecutor.run(IpMessageControl.java:468)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source) -
I don't know which properties the server is asking for either.
Another post explains that exception (which is really just a warning).
-
hi,
the serotonin stack does not 'yet' support network messages: (ipmessagecontrol.java)
// Network layer protocol control information. See 6.2.2
NPCI npci = new NPCI(queue);
if (npci.getVersion() != 1)
throw new MessageValidationAssertionException("Invalid protocol version: " + npci.getVersion());
if (npci.isNetworkMessage())
{
return; // silently
// throw new MessageValidationAssertionException("Network messages are not supported");
}we have tons of networkmessages, so i tried to hide this.
if you use the add or removelistelementrequest and you see this message more often. then i know your code is buggy ;-)robert
-
Hi Robert,
I've implemented the silent ignoring of network messages. But i don't understand your last statement. I thought the list element stuff was fixed. What does it have to do with network messages?
-
hi matt,
when adding a bacnet device into the recipientlist of the device to be monitored it will try to locate the 'remote' listener.
in case the bacnet network is the same it send a whois to 'that' device. when the bacnet network is different, then it searches for the router with a who-is-router-to-network.
you remember that the getAddress used the bacnet port as network? in this case the device to be monitored isses frequently a who-is-router-to-network with parameter destination-network equal to 47808.
in the beginning i din't understand that why until i verified the getAddress function.regards
robert -
Right. So this is fixed now, correct?
-
:-) absolutely - i am happy it works.