Fix FileNotFoundException in SDNC adapter 21/5421/3
authorDeterme, Sebastien (sd378r) <sd378r@intl.att.com>
Tue, 31 Jan 2017 12:33:12 +0000 (04:33 -0800)
committerSébastien Determe <sd378r@intl.att.com>
Mon, 6 Feb 2017 12:41:19 +0000 (12:41 +0000)
When SDNC returns HTTP 4XX code, there could be a FileNotFoundException
that prevents the adpater to send back the answer to BPMN engine.

Change-Id: I0f8ef5eaf95140a5d044e294f882412c8aaa4b53
Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
adapters/mso-sdnc-adapter/src/main/java/org/openecomp/mso/adapters/sdnc/impl/SDNCRestClient.java

index 00d7c5a..6ad9a6d 100644 (file)
@@ -48,7 +48,6 @@ import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-
 import org.openecomp.mso.adapters.sdnc.SDNCAdapterRequest;
 import org.openecomp.mso.adapters.sdnc.client.CallbackHeader;
 import org.openecomp.mso.adapters.sdnc.client.SDNCAdapterCallbackRequest;
@@ -179,15 +178,16 @@ public class SDNCRestClient implements Runnable {
                        sdncResp.setRespCode(con.getResponseCode());
                        sdncResp.setRespMsg(con.getResponseMessage());
 
-                       in = new BufferedReader(new InputStreamReader(con.getInputStream()));
-
-                       String inputLine;
-                       //Not parsing the response -it contains a responseHdr section and data section
-                       while ((inputLine = in.readLine()) != null) {
-                               response.append(inputLine);
+                       if (con.getResponseCode()>= 200 && con.getResponseCode()<=299) { 
+                               in = new BufferedReader(new InputStreamReader(con.getInputStream()));   
+                               String inputLine;
+                               //Not parsing the response -it contains a responseHdr section and data section
+                               while ((inputLine = in.readLine()) != null) {
+                                       response.append(inputLine);
+                               }
+                               in.close();
                        }
-                       in.close();
-
+                       
                        sdncResp.setSdncRespXml(response.toString());
                        msoLogger.info(MessageEnum.RA_RESPONSE_FROM_SDNC, sdncResp.toString(), "SDNC", "");
                        return(sdncResp);