I will take a look. Regards JB
> Le 23 août 2021 à 21:40, Daniel Langevin <angelwin...@gmail.com> a écrit : > > > Hi ! > Anybody have a clue ? > > Regards. > > Daniel > >> On 2021/08/17 19:31:33, Daniel Langevin <daniel.lange...@shq.gouv.qc.ca> >> wrote: >> Hi, >> >> I try to modify an application who retrieve LDAP search, >> Convert result in XML and generate HTML with camel-saxon. >> >> CAMEL 3.11.1 Karaf 4.2.10 >> >> >> But facing a problem. >> >> I Add a variable in my Search, (networkAddress) this new variable contains >> String encoded in a special format and also contains null value >> >> When I use xsteam to format the body who contains >> ArrayList<javax.naming.directory.SearchResult> >> I received an error. >> >> ... >> <to >> uri="ldap:ldapSHQinterne?base=ou=xxxxxxxxxx,o=yyyyyyyyyy&returnedAttributes=ou,sn,givenName,fullName,telephoneNumber,physicalDeliveryOfficeName,mail,pwmLastPwdUpdate,pwmResponseSet,Photo,passwordExpirationTime,loginGraceRemaining,loginDisabled,loginTime,lockedByIntruder,networkAddress" >> /> >> <marshal><xstream/></marshal> .... ERROR RECEIVE HERE >> <to uri="xslt-saxon:file:/opt/repo-XXX/SIN/eDirSecretStore.xsl"/> >> ... >> >> ---- Debugging information ---- >> message : Failed calling method >> cause-exception : com.thoughtworks.xstream.io.StreamException >> cause-message : >> method : com.sun.jndi.ldap.LdapAttribute.writeObject() >> ------------------------------- >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:158) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:257) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttributes.writeObject(BasicAttributes.java:293) >> ~[?:1.8.0_121] >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> ~[?:1.8.0_121] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> ~[?:1.8.0_121] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> ... 73 more >> Caused by: com.thoughtworks.xstream.io.StreamException: >> at >> com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:160) >> ~[!/:?] >> at >> com.thoughtworks.xstream.io.WriterWrapper.setValue(WriterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.SingleValueConverterWrapper.marshal(SingleValueConverterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:50) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttribute.writeObject(BasicAttribute.java:507) >> ~[?:1.8.0_121] >> at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source) >> ~[?:?] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:257) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttributes.writeObject(BasicAttributes.java:293) >> ~[?:1.8.0_121] >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> ~[?:1.8.0_121] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> ~[?:1.8.0_121] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> ... 73 more >> Caused by: com.ctc.wstx.exc.WstxIOException: Invalid null character in text >> to output >> at >> com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:467) >> ~[!/:6.2.6] >> at >> com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:158) >> ~[!/:?] >> at >> com.thoughtworks.xstream.io.WriterWrapper.setValue(WriterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.SingleValueConverterWrapper.marshal(SingleValueConverterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:50) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttribute.writeObject(BasicAttribute.java:507) >> ~[?:1.8.0_121] >> at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source) >> ~[?:?] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:257) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttributes.writeObject(BasicAttributes.java:293) >> ~[?:1.8.0_121] >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> ~[?:1.8.0_121] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> ~[?:1.8.0_121] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> ... 73 more >> Caused by: java.io.IOException: Invalid null character in text to output >> at >> com.ctc.wstx.api.InvalidCharHandler$FailingHandler.convertInvalidChar(InvalidCharHandler.java:51) >> ~[!/:6.2.6] >> at com.ctc.wstx.sw.XmlWriter.handleInvalidChar(XmlWriter.java:629) >> ~[!/:6.2.6] >> at >> com.ctc.wstx.sw.BufferingXmlWriter.writeCharacters(BufferingXmlWriter.java:497) >> ~[!/:6.2.6] >> at >> com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:465) >> ~[!/:6.2.6] >> at >> com.thoughtworks.xstream.io.xml.StaxWriter.setValue(StaxWriter.java:158) >> ~[!/:?] >> at >> com.thoughtworks.xstream.io.WriterWrapper.setValue(WriterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.SingleValueConverterWrapper.marshal(SingleValueConverterWrapper.java:45) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:50) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttribute.writeObject(BasicAttribute.java:507) >> ~[?:1.8.0_121] >> at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source) >> ~[?:?] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter.doMarshal(SerializableConverter.java:257) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:90) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:68) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:87) >> ~[!/:?] >> at >> com.thoughtworks.xstream.converters.reflection.SerializableConverter$1.writeToStream(SerializableConverter.java:139) >> ~[!/:?] >> at >> com.thoughtworks.xstream.core.util.CustomObjectOutputStream.writeObjectOverride(CustomObjectOutputStream.java:87) >> ~[!/:?] >> at >> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344) >> ~[?:1.8.0_121] >> at >> javax.naming.directory.BasicAttributes.writeObject(BasicAttributes.java:293) >> ~[?:1.8.0_121] >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> ~[?:1.8.0_121] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >> ~[?:1.8.0_121] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> ~[?:1.8.0_121] >> at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121] >> at >> com.thoughtworks.xstream.core.util.SerializationMembers.callWriteObject(SerializationMembers.java:154) >> ~[!/:?] >> ... 73 more >> >> >> And If I convert it to JSON with xstream it Works !!!!!!!!! >> >> Like this >> >> <dataFormats> >> <json id="XstreamJson" library="XStream" prettyPrint="true"/> >> </dataFormats> >> ... >> <to >> uri="ldap:ldapSHQinterne?base=ou=xxxxxxxxxx,o=yyyyyyyyyy&returnedAttributes=ou,sn,givenName,fullName,telephoneNumber,physicalDeliveryOfficeName,mail,pwmLastPwdUpdate,pwmResponseSet,Photo,passwordExpirationTime,loginGraceRemaining,loginDisabled,loginTime,lockedByIntruder,networkAddress" >> /> >> <marshal><custom ref="XstreamJson" /></marshal> >> Result for the networkAdress >> ... >> }, >> "com.sun.jndi.ldap.LdapAttribute": { >> "@serialization": "custom", >> "javax.naming.directory.BasicAttribute": { >> "default": { >> "ordered": false, >> "attrID": "networkAddress" >> }, >> "int": 1, >> "string": "9#\u0000\u0000����" >> }, >> ... >> >> Why it's work in JSON using xstream and not for XML ????? >> >> Someone did it before with XML ????? >> >> Regards >> >> >> Daniel Langevin >> Direction de l’assistance et des technologie >> Direction des ressources informationnelles et matérielles >> >>