SAXParser saxParser = factory.newSAXParser();
             InputStream in = new ByteArrayInputStream(s.getBytes());
             saxParser.parse(in, handler);
-        } catch (ParserConfigurationException | IOException | SAXException e) {
+        } catch (ParserConfigurationException | IOException | SAXException | NumberFormatException e) {
             throw new SvcLogicException("Unable to convert XML to properties" + e.getLocalizedMessage(), e);
         }
         return handler.getProperties();
 
 
 package jtest.org.onap.ccsdk.sli.plugins.restapicall;
 
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Set;
 
 import org.junit.Test;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.plugins.restapicall.XmlParser;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
         in.close();
     }
 
+    @Test
+    public void testValidLength() throws Exception {
+        BufferedReader in = new BufferedReader(
+            new InputStreamReader(ClassLoader.getSystemResourceAsStream("test3.xml"))
+        );
+        StringBuilder b = new StringBuilder();
+        String line;
+        while ((line = in.readLine()) != null)
+            b.append(line).append('\n');
+
+        Set<String> listNameList = new HashSet<String>();
+        listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport");
+        listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport");
+
+        Map<String, String> mm = XmlParser.convertToProperties(b.toString(), listNameList);
+
+        assertThat(mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport[5]"), is("SET_RESET_LP"));
+        assertThat(mm.get("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport[0]"), is("SET_BVOIP_IN"));
+
+        logProperties(mm);
+        in.close();
+    }
+
+    @Test(expected = SvcLogicException.class)
+    public void testInvalidLength() throws Exception {
+        BufferedReader in = new BufferedReader(
+            new InputStreamReader(ClassLoader.getSystemResourceAsStream("invalidlength.xml"))
+        );
+        StringBuilder b = new StringBuilder();
+        String line;
+        while ((line = in.readLine()) != null)
+            b.append(line).append('\n');
+
+        Set<String> listNameList = new HashSet<String>();
+        listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfImport");
+        listNameList.add("ApplyGroupResponse.ApplyGroupResponseData.VrfDetails.VrfExport");
+
+        Map<String, String> mm = XmlParser.convertToProperties(b.toString(), listNameList);
+        logProperties(mm);
+        in.close();
+    }
+
     private void logProperties(Map<String, String> mm) {
         List<String> ll = new ArrayList<>();
         for (Object o : mm.keySet())
 
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ============LICENSE_START=======================================================
+  openECOMP : SDN-C
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights
+                       reserved.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  -->
+
+<ApplyGroupResponse xmlns="http://onap.org/vpn/schema/v1"
+    xmlns:ns2="http://onap.org/prov/vpn/schema/v2">
+    <ApplyGroupResponseData>
+        <ServiceInstanceId>ICOREPVC-81114561</ServiceInstanceId>
+        <VrfDetails>
+            <End2EndVpnKey>VPNL811182</End2EndVpnKey>
+            <VpnId>811182</VpnId>
+            <VrfName>21302:811182</VrfName>
+            <VrfImport>SET_BVOIP_IN</VrfImport>
+            <VrfImport>SET6_BVOIP_IN</VrfImport>
+            <VrfExport_length>a</VrfExport_length>
+            <VrfExport>SET6_DSU</VrfExport>
+            <VrfExport>SET_DSU</VrfExport>
+            <VrfExport>SET6_MANAGED</VrfExport>
+            <VrfExport>SET_MANAGED</VrfExport>
+            <VrfExport>SET_LOVRF_COMMUNITY</VrfExport>
+            <VrfExport>SET_RESET_LP</VrfExport>
+            <ApplyGroup>
+                <ns2:ApplyGroup>AG_MAX_MCASTROUTES</ns2:ApplyGroup>
+            </ApplyGroup>
+        </VrfDetails>
+    </ApplyGroupResponseData>
+    <response-code>200</response-code>
+    <response-message>Success</response-message>
+    <ack-final-indicator>Y</ack-final-indicator>
+</ApplyGroupResponse>
+