My Oracle Support Banner

Invalid Base64 Response Returned When Querying More than One Attachment Data Via Rest API (Doc ID 2986942.1)

Last updated on NOVEMBER 17, 2023

Applies to:

Siebel Public Sector Service - Version 22.10 and later
Information in this document applies to any platform.

Symptoms

Retrieve Attachments using Siebel Rest API works for more than one smaller attachments or one big attachment.

However with more than one attachments and one being larger file (3MB) returns invalid response in the Rest API response-Attachment Id field as bellow:

  "FDF Attachment Id": "include::/data/siebel/ses/siebsrvr/temp/1-3S2UE_0.tmp::-1",

 
Also following errors found in AI container logs: catalina.output and catalina.YYYY-MM-DD.log

30-Jun-2023 10:16:17.690 SEVERE [https-jsse-nio-4443-exec-7] org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse Error while closing the output stream in order to commit response.
  java.lang.IllegalStateException: getWriter() has already been called for this response
  at org.apache.catalina.connector.Response.getOutputStream(Response.java:550)
  at org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:210)
  at org.glassfish.jersey.servlet.internal.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:156)
  at org.glassfish.jersey.server.ServerRuntime$Responder$1.getOutputStream(ServerRuntime.java:628)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:171)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.flushBuffer(CommittingOutputStream.java:276)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:232)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.close(CommittingOutputStream.java:247)
  at org.glassfish.jersey.message.internal.OutboundMessageContext.close(OutboundMessageContext.java:842)
  at org.glassfish.jersey.server.ContainerResponse.close(ContainerResponse.java:389)
  at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(Se

The issue can be reproduced at will with the following steps, for more details on how to use "Inbound REST API requests" refer to Inbound REST Attachments Support And Examples (Doc ID 2896634.2)
1. Create an Account, attach 2 files (1 can be small, another big)
2. Query attachments via a Business Service, provide the IO name in the request body
3. Note that for one file attachment id is correctly generated for the other one it is generate:

a. One file attachment id is correctly generated showing the following:

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.