1

我已经阅读了 VeraCode API Wrapper 文档的详细信息。我遵循了与“从 Visual Studio 引用 Veracode API Wrapper”相关的所有步骤。

根据这些步骤,我能够创建一个 UploadAPIWrapper 类的实例,如下所述:

var uploadWrapper = new UploadAPIWrapper();

我能够看到包装器可以执行的所有简单操作,如下所述:

在此处输入图像描述

我还能够在命令提示符中看到复合操作 uploadandscan,如下面的屏幕截图中所述: 在此处输入图像描述

但是无法看到包装器可以执行的复合操作,例如上传和扫描。

任何人都可以在这里给我建议,以防我错过任何先决条件。

谢谢和问候, 桑托什·库马尔·帕特罗

4

1 回答 1

0

当您从命令行调用 UploadAndScan 操作时,您通常会传递的内容或多或少如下所示:

VeracodeC#API.exe -action uploadandscan -appname appName -version version -createprofile true -filepath filePath -vuser 用户名 -vpassword 密码

因此,要使您的代码正常工作,您需要按如下方式对其进行修改:

using System;
using System.Reflection;
using com.veracode.apiwrapper;

namespace ConsoleApplication3
{
using System;
{
    static void Main()
    {
        //----------------------------------------------------------
        String appName =        "enter-application-name-here";
        String version =        "enter-version-here";
        bool createProfile =    true;//or false;
        String filePath =       "enter-filepath-here";//ie: "C:\\file.exe"

        String username =       "enter-username-here";
        String password =       "enter-password-here";
        //----------------------------------------------------------

        //String[] args = <the same args that you pass when you call the UploadAndScan composite action>;
        String[] args = new String[]
        {
            "-action", "uploadandscan",
            "-appname", appName,
            "-version", version,
            "-createprofile", createProfile.ToString(),
            "-filepath", filePath,
            "-vuser", username,
            "-vpassword", password
        };

        Type t = System.Reflection.Assembly.GetAssembly(typeof(AbstractAPIWrapper)).GetType("com.veracode.apiwrapper.cli.VeracodeCommand");
        MethodInfo m = t.GetMethod("Main", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
        m.Invoke(null, new Object[] { args });

        Console.Read();
    }
}

}

于 2013-12-27T19:49:35.617 回答