ArrayList<PackageData> dbResult = new ArrayList<PackageData>();
     ArrayList<PackageMeta> result = new ArrayList<PackageMeta>();
     dbResult = PackageWrapperUtil.getPackageInfoById(csarId);
-      result = PackageWrapperUtil.packageDataList2PackageMetaList(dbResult);
-      return Response.ok(result).build();
+    result = PackageWrapperUtil.packageDataList2PackageMetaList(dbResult);
+    return Response.ok(result).build();
   }
 
   /**
     packageMeta.setDownloadUri(dowloadUri);
     LOG.info("packageMeta = " + ToolUtil.objectToString(packageMeta));
     Boolean isEnd = PackageWrapperUtil.isUploadEnd(contentRange, fileName);
+    PackageData packateDbData = new PackageData();
     if (isEnd) {
       String serviceTemplateId = null;
       boolean uploadResult = FileManagerFactory.createFileManager().upload(tempDirName, destPath);
       if (uploadResult == true) {
         PackageData packageData = PackageWrapperUtil.getPackageData(packageMeta);
-        PackageData packateDbData = PackageManager.getInstance().addPackage(packageData);
+        packateDbData = PackageManager.getInstance().addPackage(packageData);
         LOG.info("Store package data to database succed ! packateDbData = "
             + ToolUtil.objectToString(packateDbData));
         try {
           String tempCsarPath = tempDirName + File.separator + fileName;
-          serviceTemplateId = ModelParserFactory.getInstance().parse(packageMeta.getCsarId(),
-              tempCsarPath, PackageWrapperUtil.getPackageFormat(packageMeta.getFormat()));
+          serviceTemplateId = ModelParserFactory.getInstance().parse(packateDbData.getCsarId(),
+              tempCsarPath, PackageWrapperUtil.getPackageFormat(packateDbData.getFormat()));
           LOG.info("Package parse success ! serviceTemplateId = " + serviceTemplateId);
         } catch (Exception e1) {
           LOG.error("Parse package error ! ");
           throw new Exception(e1);
         }
 
-        if (null != packateDbData || null == serviceTemplateId) {
+        if (null != packateDbData && null == serviceTemplateId) {
+          LOG.info("Service template Id is null !");
           PackageManager.getInstance().deletePackage(packateDbData.getCsarId());
         }
       }
       LOG.info("upload package file end, fileName:" + fileName);
     }
     UploadPackageResponse result = new UploadPackageResponse();
-    result.setCsarId(packageMeta.getCsarId());
+    result.setCsarId(packateDbData.getCsarId());
     if (tempDirName != null) {
       ToolUtil.deleteDir(new File(tempDirName));
     }
 
 //      url = MsbAddrConfig.getMsbAddress() + uri.substring(1);
 //    }
 //    url = MsbAddrConfig.getMsbAddress() + uri;
-    if ((HttpServerAddrConfig.getHttpServerAddress().endsWith("/")) && uri.startsWith("/")) {
-      url = HttpServerAddrConfig.getHttpServerAddress() + uri.substring(1);
+    if ((getDownloadUriHead().endsWith("/")) && uri.startsWith("/")) {
+      url = getDownloadUriHead() + uri.substring(1);
     }
-    url = MsbAddrConfig.getMsbAddress() + uri;
+    url = getDownloadUriHead() + uri;
     String urlresult = url.replace("\\", "/");
     return urlresult;
   }
+  
+  public static String getDownloadUriHead() {
+    return MsbAddrConfig.getMsbAddress() + "/files/catalog-http";
+  }
 
   /**
    * get local path.
 
     System.out.println("Test get csar file uri ");
     CsarFileUriResponse expectResult = new CsarFileUriResponse();
     String csarFileUri =
-        MsbAddrConfig.getMsbAddress() + "/NSAR/ZTE/NanocellGW/v1.0/NanocellGW/images/segw.img";
-    String localUri =
-        HttpServerPathConfig.getHttpServerPath()
-            + "NSAR/ZTE/NanocellGW/v1.0/NanocellGW/images/segw.img";
+        getDownloadUriHead() + "/NSAR/ZTE/NanocellGW/v1.0/NanocellGW/images/segw.img";
+    String localUri = HttpServerPathConfig.getHttpServerPath()
+        + "NSAR/ZTE/NanocellGW/v1.0/NanocellGW/images/segw.img";
     File srcDir = new File(localUri);
     String localPath = srcDir.getAbsolutePath().replace("\\", "/");
 
     meta.setCreateTime("2016-06-29 03:33:15");
     meta.setCsarId("123456");
     meta.setDeletionPending(false);
-    meta.setDownloadUri(MsbAddrConfig.getMsbAddress() 
+    meta.setDownloadUri(getDownloadUriHead() 
         + "/NSAR/ZTE/NanocellGW/v1.0/NanocellGW.csar");
     meta.setFormat("yml");
     meta.setModifyTime("2016-06-29 03:33:15");
     metas.add(meta);
     return metas;
   }
+  
+  private String getDownloadUriHead() {
+    return MsbAddrConfig.getMsbAddress() + "/files/catalog-http";
+  }
 }