2017-10-27 8 views
0

Fehler beim Erstellen von Gastobjekten mithilfe der createObjects-API-Methode. beziehen sich die folgenden Beispielcode,Mehrere Gastobjekte konnten mit createObjects API nicht gesendet werden

Image image = new Image(); 
    image.setCapacity(50L); 

    Guest guest = new Guest(); 
    guest.setHostname("malya-vm-4"); 
    guest.setDomain("test.com"); 
    guest.setStartCpus(1l); 
    guest.setMaxMemory(1024l); 
    guest.setDatacenter(new Location()); 
    guest.getDatacenter().setName("che01"); 

    guest.setLocalDiskFlag(false); 
    guest.setHourlyBillingFlag(true); 

    guest.setOperatingSystemReferenceCode("UBUNTU_LATEST"); 

    Component privateComponent = new Component(); 
    Component publicComponent = new Component(); 

    Vlan networkVlan1 = new Vlan(); 
    networkVlan1.setVlanNumber(1365L); 
    networkVlan1.setId(2117919L); 

    Subnet privateSubnet = new Subnet(); 
    privateSubnet.setId(1059121L); 

    privateComponent.setNetworkVlan(networkVlan1); 
    privateComponent.setPrimarySubnet(privateSubnet); 
    guest.setPrimaryBackendNetworkComponent(privateComponent); 

    Vlan networkVlan2 = new Vlan(); 
    networkVlan2.setId(2117917L); 
    networkVlan2.setVlanNumber(1290L); 

    Subnet primarySubnetVersion4 = new Subnet(); 
    primarySubnetVersion4.setVersion(4L); 
    primarySubnetVersion4.setId(1547547L); 

    Subnet ipv6 = Subnet.service(client, 1512739L).getObject(); 
    Subnet primarySubnetVersion6 = new Subnet(); 
    primarySubnetVersion6.setVersion(6L); 
    primarySubnetVersion6.setId(1512739L); 
    primarySubnetVersion6.setSubnetType("PRIMARY_6"); 

    networkVlan2.setPrimarySubnet(primarySubnetVersion4); 
    networkVlan2.setPrimarySubnetVersion6(ipv6); 
    networkVlan2.setPrimarySubnetCount(2L); 

    publicComponent.setNetworkVlan(networkVlan2); 
    guest.setPrimaryNetworkComponent(publicComponent); 

    List<Guest> list = new ArrayList<>(); 
    list.add(guest); 
    Guest.service(client).createObjects(list); 

Ich erhalte die Meldung unten Fehler während der oben genannten Antrag einreichen,

Exception in thread "main" com.softlayer.api.ApiException $ Intern: Die Eigenschaft 'Hostname' muss gesetzt sein, um eine Instanz von 'SoftLayer_Virtual_Guest' zu erstellen. (code: SoftLayer_Exception_MissingCreationProperty, status: 500) unter com.softlayer.api.ApiException.fromError (ApiException.java:16) unter com.softlayer.api. RestApiClient $ ServiceProxy.logAndHandleResponse (RestApiClient.java:258) bei com.softlayer.api.RestApiC lient $ ServiceProxy.invokeService (RestApiClient.java:300) bei com.softlayer.api.RestApiClient $ ServiceProxy.invoke (RestApiClient.java:466) bei com.sun.proxy. $ Proxy7.createObjects (Unknown Source)

Antwort

0

Dies ist ein Problem mit dem Java-Client des Softlayers, Sie müssen es hier melden https://github.com/softlayer/softlayer-java/issues, was ich in den Protokollen sehen kann, ist, dass der Client die Methode "createObjects" in den Anfragen nicht aufrufen, gibt es keine Methode Anfrage Wenn die API dies sieht, versucht sie standardmäßig, die Methode createObject aufzurufen:

Running POST on https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest.json with body: {"parameters":[[{"complexType":"SoftLayer_Virtual_Guest","maxMemory":1024,"hostname":"rcaberodeleteme","domain":"test.com","hourlyBillingFlag":true,"startCpus":1,"operatingSystemReferenceCode":"UBUNTU_LATEST","localDiskFlag":false,"datacenter":{"complexType":"SoftLayer_Location","name":"che01"}}]]} 
Got 500 on https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest.json with body: {"error":"The property 'hostname' must be set to create an instance of 'SoftLayer_Virtual_Guest'.","code":"SoftLayer_Exception_MissingCreationProperty"} 
Verwandte Themen