[ https://issues.apache.org/jira/browse/OLINGO-1342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17567140#comment-17567140 ]
TUSHAR SAURABH edited comment on OLINGO-1342 at 7/15/22 8:02 AM: ----------------------------------------------------------------- Hi Aleksandr, I am getting the same error ,could you please let me know how to fix.Explain me step by step. String xmlFile = "metadata.xml"; void perform(String serviceUrl) throws Exception { readProperties(fileName); String bearerfederationTokenService = "Bearer " + federationTokenService; System.out.println("bearerfederationTokenService :1 :" + bearerfederationTokenService); String bearerTokenService = "Bearer " + tokenService; System.out.println("bearerTokenService : 2 :"+bearerTokenService); print("\n----- Read Edm ------------------------------"); Edm edm = readEdm(serviceUrl); List<FullQualifiedName> ctFqns = new ArrayList<FullQualifiedName>(); System.out.println("ctFqns :" + ctFqns); List<FullQualifiedName> etFqns = new ArrayList<FullQualifiedName>(); for (EdmSchema schema : edm.getSchemas()) { for (EdmComplexType complexType : schema.getComplexTypes()) { ctFqns.add(complexType.getFullQualifiedName()); } for (EdmEntityType entityType : schema.getEntityTypes()) { etFqns.add(entityType.getFullQualifiedName()); } } print("Found ComplexTypes", ctFqns); print("Found EntityTypes", etFqns); print("\n----- Inspect each property and its type of the first entity: " + etFqns.get(0) + "----"); EdmEntityType etype = edm.getEntityType(etFqns.get(0)); for (String propertyName : etype.getPropertyNames()) { EdmProperty property = etype.getStructuralProperty(propertyName); FullQualifiedName typeName = property.getType().getFullQualifiedName(); print("property '" + propertyName + "' " + typeName); } public Edm readEdm(String serviceUrl) throws IOException, URISyntaxException { System.out.println("xmlresult 33333 ::::" + xmlresult ); System.out.println("serviceUrl 44444" + serviceUrl ); System.out.println("xmlFile 55555" + xmlFile ); List<InputStream> streams = new ArrayList<InputStream>(); //If file is locally available // streams.add(getClass().getResourceAsStream(xmlFile)); ClassLoader classLoader = getClass().getClassLoader(); streams.add(classLoader.getResourceAsStream(xmlFile)) ; final Edm edm = client.getReader().readMetadata(classLoader.getResourceAsStream(xmlFile)); return edm; } Error : Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: org.apache.http.conn.EofSensorInputStream@1e044120; line: 1, column: 2] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1586) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:521) at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:450) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2628) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:854) at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:748) at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2145) at org.apache.olingo.client.core.serialization.JsonODataErrorDeserializer.doDeserialize(JsonODataErrorDeserializer.java:45) at org.apache.olingo.client.core.serialization.JsonDeserializer.toError(JsonDeserializer.java:442) ... 11 more Looking for the exact solution I have been trying last 3 days. I appreciate for the kind help . Thanks ! was (Author: JIRAUSER292878): Hi Aleksandr, I am getting the same error ,could you please let me know how to fix.Explain me step by step. String xmlFile = "metadata.xml"; void perform(String serviceUrl) throws Exception { readProperties(fileName); String bearerfederationTokenService = "Bearer " + federationTokenService; System.out.println("bearerfederationTokenService :1 :" + bearerfederationTokenService); String bearerTokenService = "Bearer " + tokenService; System.out.println("bearerTokenService : 2 :"+bearerTokenService); print("\n----- Read Edm ------------------------------"); Edm edm = readEdm(serviceUrl); List<FullQualifiedName> ctFqns = new ArrayList<FullQualifiedName>(); System.out.println("ctFqns :" + ctFqns); List<FullQualifiedName> etFqns = new ArrayList<FullQualifiedName>(); for (EdmSchema schema : edm.getSchemas()) { for (EdmComplexType complexType : schema.getComplexTypes()) { ctFqns.add(complexType.getFullQualifiedName()); } for (EdmEntityType entityType : schema.getEntityTypes()) { etFqns.add(entityType.getFullQualifiedName()); } } print("Found ComplexTypes", ctFqns); print("Found EntityTypes", etFqns); print("\n----- Inspect each property and its type of the first entity: " + etFqns.get(0) + "----"); EdmEntityType etype = edm.getEntityType(etFqns.get(0)); for (String propertyName : etype.getPropertyNames()) { EdmProperty property = etype.getStructuralProperty(propertyName); FullQualifiedName typeName = property.getType().getFullQualifiedName(); print("property '" + propertyName + "' " + typeName); } public Edm readEdm(String serviceUrl) throws IOException, URISyntaxException { System.out.println("xmlresult 33333 ::::" + xmlresult ); System.out.println("serviceUrl 44444" + serviceUrl ); System.out.println("xmlFile 55555" + xmlFile ); List<InputStream> streams = new ArrayList<InputStream>(); //If file is locally available // streams.add(getClass().getResourceAsStream(xmlFile)); ClassLoader classLoader = getClass().getClassLoader(); streams.add(classLoader.getResourceAsStream(xmlFile)) ; final Edm edm = client.getReader().readMetadata(classLoader.getResourceAsStream(xmlFile)); return edm; } Looking for the exact solution I have been trying last 3 days. I appreciate for the kind help . Thanks ! > Non-json errors not displayed properly in logs > ---------------------------------------------- > > Key: OLINGO-1342 > URL: https://issues.apache.org/jira/browse/OLINGO-1342 > Project: Olingo > Issue Type: Bug > Components: odata4-client > Affects Versions: (Java) V4 4.5.0, (Java) V4 4.6.0 > Reporter: Aleksandr Zaigraev > Priority: Major > Labels: patch > Fix For: (Java) V4 4.10.0 > > Attachments: OLINGO-1342.patch > > > When http client receives non-json encoded error message, for example when > receiving this error message: > <HEAD><TITLE>Tunnel Connection Failed</TITLE></HEAD>... > In Spring logs following will be displayed: > org.apache.olingo.client.api.serialization.ODataDeserializerException: > com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' > (code 60)): expected a valid value (number, String, array, object, 'true', > 'false' or 'null') > at [Source: (ByteArrayInputStream); line: 1, column: 2] > at > org.apache.olingo.client.core.serialization.JsonDeserializer.toError(JsonDeserializer.java:444) > ~[odata-client-core-4.5.0.jar:na] > at > org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toError(ClientODataDeserializerImpl.java:105) > ~[odata-client-core-4.5.0.jar:na] > ... -- This message was sent by Atlassian Jira (v8.20.10#820010)