[ 
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)

Reply via email to