2017-01-03 49 views
0

触发Nessus的扫描我有通过SoftLayer的API触发Nessus的扫描问题,我使用Java和利用这里的图书馆:https://github.com/softlayer/softlayer-java有问题通过API

这是我使用的方法:

RestApiClient client = new RestApiClient().withCredentials(xxxxxx, xxxxxxx); 
Account.Service accountService = Account.service(client); 
Account account = accountService.getObject(); 

Request.Service requestService = Request.service(client); 

Request request = new Request(); 
request.setAccount(account); 
request.setIpAddress(ipAddress); 

Request scan = requestService.createObject(request); 

我收到击退这个问题:

你不允许在其他 比你自己的帐户启动安全扫描请求。

我使用的是我用来通过API配置多个主机的相同凭据,所以我不确定它为什么会在这里下降。

任何帮助将不胜感激。

谢谢

回答

0

当帐户被设置而不是帐户ID时引发错误。 你可以试试这个Java例子。

package SoftLayer_Java_Scripts.Examples; 

import com.google.gson.Gson; 
import com.softlayer.api.*; 
import com.softlayer.api.service.Account; 
import com.softlayer.api.service.network.security.scanner.Request; 

public class CreateNetworkSecurityScannerRequest { 

    private static String user = "set me"; 
    private static String apiKey = "set me"; 

    private static ApiClient client = new RestApiClient().withCredentials(user, apiKey); 

    public static void main(String[] args) { 
    Account.Service accountService = Account.service(client); 
    Request.Service requestService = Request.service(client); 
    String ipAddress = "168.1.11.156"; 
    Long virtualGuestId = 22358591L; 

    Account account = null; 
    try { 
     account = accountService.getObject(); 
    } catch (Exception e) { 
     System.out.println("Error retrieving account object.\nError message: " + e.getMessage()); 
    } 
    Request request = new Request(); 
    request.setAccountId(account.getId()); 
    request.setGuestId(virtualGuestId); 
    request.setIpAddress(ipAddress); 
    Request scan = null; 
    try { 
     scan = requestService.createObject(request); 
     Gson gson = new Gson(); 
     System.out.println(gson.toJson(scan)); 
    } 
    catch (Exception e) { 
     System.out.println("Error creating Network Security Scanner Request.\nError message: " + e.getMessage()); 
    } 
    } 
} 

更改您的示例数据。