Hello Sir. I am testing EV (ISO 15118) using the RISE-V2G project's EVCC and our own SECC.
However, in the process of exchanging data, when the value of ChargeParameterDiscoveryRes is converted to EXI and passed to EVCC, EVCC seems to be unable to interpret this data, resulting in an error.
Can you elaborate on the cause of this error?
This is the log at the time.
Self-developed SECC does not use TLS, but uses a TCP server and uses a Security Layer of 10. (No TLS)
2023-01-26T13:47:25,530 DEBUG [Thread-0] EXIficientCodec: XML representation of ChargeParameterDiscoveryReq:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns6:V2G_Message xmlns:ns6="urn:iso:15118:2:2013:MsgDef" xmlns:ns5="http://www.w3.org/2000/09/xmldsig#" xmlns:ns7="urn:iso:15118:2:2013:MsgBody" xmlns:ns2="urn:iso:15118:2:2010:AppProtocol" xmlns:ns4="urn:iso:15118:2:2013:MsgDataTypes" xmlns:ns3="urn:iso:15118:2:2013:MsgHeader"><ns6:Header><ns3:SessionID>61D2AA0068A0B532</ns3:SessionID></ns6:Header><ns6:Body><ns7:ChargeParameterDiscoveryReq><ns7:RequestedEnergyTransferMode>DC_combo_core</ns7:RequestedEnergyTransferMode><ns4:DC_EVChargeParameter><ns4:DC_EVStatus><ns4:EVReady>true</ns4:EVReady><ns4:EVErrorCode>NO_ERROR</ns4:EVErrorCode><ns4:EVRESSSOC>50</ns4:EVRESSSOC></ns4:DC_EVStatus><ns4:EVMaximumCurrentLimit><ns4:Multiplier>0</ns4:Multiplier><ns4:Unit>A</ns4:Unit><ns4:Value>200</ns4:Value></ns4:EVMaximumCurrentLimit><ns4:EVMaximumVoltageLimit><ns4:Multiplier>0</ns4:Multiplier><ns4:Unit>V</ns4:Unit><ns4:Value>400</ns4:Value></ns4:EVMaximumVoltageLimit><ns4:EVEnergyRequest><ns4:Multiplier>0</ns4:Multiplier><ns4:Unit>Wh</ns4:Unit><ns4:Value>5000</ns4:Value></ns4:EVEnergyRequest></ns4:DC_EVChargeParameter></ns7:ChargeParameterDiscoveryReq></ns6:Body></ns6:V2G_Message>
2023-01-26T13:47:25,533 DEBUG [Thread-0] EXIficientCodec: EXI encoded ChargeParameterDiscoveryReq: 8098021874AA801A282D4C90950A400640618640088C40900308C608827200
2023-01-26T13:47:25,533 DEBUG [Thread-0] EXIficientCodec: Base64 encoded ChargeParameterDiscoveryReq: gJgCGHSqgBooLUyQlQpABkBhhkAIjECQAwjGCIJyAA==
2023-01-26T13:47:25,533 DEBUG [Thread-0] TCPClient: Message sent
2023-01-26T13:47:25,533 DEBUG [Thread-0] V2GCommunicationSessionEVCC: New state is WaitForChargeParameterDiscoveryRes
2023-01-26T13:47:25,552 DEBUG [Thread-0] TCPClient: Length of V2GTP payload in bytes according to V2GTP header: 314
2023-01-26T13:47:25,552 DEBUG [Thread-0] TCPClient: Message received
2023-01-26T13:47:25,552 DEBUG [Thread-0] EXIficientCodec: Received EXI stream: 8098021874AA801A282D4C8A895A1D1D1C0E8BCBDDDDDDCB9DCCCB9BDC99CBD5148BD8D85B9BDB9A58D85B0B595E1A4BD0D5A1D1D1C0E8BCBDDDDDDCB9DCCCB9BDC99CBCC8C0C0C4BCC0D0BDE1B5B191CDA59CB5B5BDC9948D958D91CD84B5CDA184C8D4D910311A4A2188001214B43A3A381D1797BBBBBB973B999737B933979918181897981A17BC36B632B73191B9B430991A9B2105B3E03CEE9F225E603D96168620DC6B49BCD522E0D786F0E495E0B5FAD87515989400EDF15309B0770A736DC02D083B2A4E08FAA0F6AA2CB62C5C13BA8BB68EFCF94C003BC95FA554F8FD9766A0C16CFB097FBE89429857046C2ED344AA27B938D3141400000000000405182830A0161005494431001000100240880E201081203840110260A88032940000001030C08018503F03102400C0C301003103980446180008
2023-01-26T13:47:25,554 ERROR [Thread-0] EXIficientCodec: Error occurred while trying to decode (TransformerException)
javax.xml.transform.TransformerException: java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because "lvs" is null
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:789) ~[?:?]
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:395) ~[?:?]
at com.v2gclarity.risev2g.shared.exiCodec.EXIficientCodec.decode(EXIficientCodec.java:182) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.shared.exiCodec.EXIficientCodec.decodeEXI(EXIficientCodec.java:157) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.shared.messageHandling.MessageHandler.exiToV2gMsg(MessageHandler.java:165) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC.update(V2GCommunicationSessionEVCC.java:177) [rise-v2g-evcc-1.2.6.jar:?]
at java.util.Observable.notifyObservers(Observable.java:173) [?:?]
at com.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient.processIncomingMessage(StatefulTransportLayerClient.java:124) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.evcc.transportLayer.TCPClient.run(TCPClient.java:103) [rise-v2g-evcc-1.2.6.jar:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because "lvs" is null
at com.siemens.ct.exi.datatype.strings.StringDecoderImpl.readValueLocalHit(StringDecoderImpl.java:114) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.datatype.strings.StringDecoderImpl.readValue(StringDecoderImpl.java:67) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.datatype.StringDatatype.readValue(StringDatatype.java:86) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.types.TypedTypeDecoder.readValue(TypedTypeDecoder.java:62) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.core.EXIBodyDecoderInOrder.readAttributeContent(EXIBodyDecoderInOrder.java:188) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.core.EXIBodyDecoderInOrder.decodeAttribute(EXIBodyDecoderInOrder.java:224) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.api.sax.SAXDecoder.parseEXIEvents(SAXDecoder.java:288) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.siemens.ct.exi.api.sax.SAXDecoder.parse(SAXDecoder.java:247) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:693) ~[?:?]
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:780) ~[?:?]
... 9 more
2023-01-26T13:47:25,568 ERROR [Thread-0] EXIficientCodec: UnmarshalException occurred while trying to unmarshall decoded message
javax.xml.bind.UnmarshalException: null
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:340) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:548) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:234) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:199) ~[rise-v2g-evcc-1.2.6.jar:?]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:170) ~[rise-v2g-evcc-1.2.6.jar:?]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:209) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.shared.exiCodec.ExiCodec.unmarshallToMessage(ExiCodec.java:97) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.shared.exiCodec.EXIficientCodec.decodeEXI(EXIficientCodec.java:159) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.shared.messageHandling.MessageHandler.exiToV2gMsg(MessageHandler.java:165) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC.update(V2GCommunicationSessionEVCC.java:177) [rise-v2g-evcc-1.2.6.jar:?]
at java.util.Observable.notifyObservers(Observable.java:173) [?:?]
at com.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient.processIncomingMessage(StatefulTransportLayerClient.java:124) [rise-v2g-evcc-1.2.6.jar:?]
at com.v2gclarity.risev2g.evcc.transportLayer.TCPClient.run(TCPClient.java:103) [rise-v2g-evcc-1.2.6.jar:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.endEntity(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) ~[rise-v2g-evcc-1.2.6.jar:?]
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:228) ~[rise-v2g-evcc-1.2.6.jar:?]
... 11 more
2023-01-26T13:47:25,570 FATAL [Thread-0] WaitForChargeParameterDiscoveryRes: Incoming message is not a V2GMessage
2023-01-26T13:47:25,582 WARN [Thread-0] V2GCommunicationSessionEVCC: Terminating V2G communication session, reason: Incoming message raised an error
2023-01-26T13:47:25,582 DEBUG [Thread-0] TCPClient: Stopping TCP client ...
2023-01-26T13:47:25,583 DEBUG [Thread-0] TCPClient: TCP client stopped
2023-01-26T13:47:25,585 DEBUG [Thread-0] UDPClient: UDP client stopped
Hello Sir. I am testing EV (ISO 15118) using the RISE-V2G project's EVCC and our own SECC.
However, in the process of exchanging data, when the value of ChargeParameterDiscoveryRes is converted to EXI and passed to EVCC, EVCC seems to be unable to interpret this data, resulting in an error.
Can you elaborate on the cause of this error?
This is the log at the time.
Self-developed SECC does not use TLS, but uses a TCP server and uses a Security Layer of 10. (No TLS)
SECC
EVCC