2016-04-07 7 views
0

JavaでNetscalerとVyatta Orderを実装しようとしています。 JavaでVerify APIを呼び出すと、次のエラーが返されました。 以下のテストコードも添付されています。構成が不足している場合は、私にお勧めしてください。JavaでVyattaとNetscaler VPXを注文する

のNetScaler:「エラー」: "注文は、以下のカテゴリ欠落しています。NetScalerのVPXを Vyatta社:Gatewayアプライアンスは、子コンテナとして

public void orderNetscalerTest() { 

     // Netscaler VPX 10.5 
     Price net_price = new Price(); 
     net_price.setId(17238l); 

     // Public Secondary StaticIP Address 
     Price static_price = new Price(); 
     static_price.setId(44964l); 

     ArrayList<Price> prices = new ArrayList<Price>(); 
     prices.add(net_price); 
//  prices.add(static_price); 

     Long packageID = 192l; // Netscaler package 
     Long quantity = 1l; 

     // Create Order to verify 
     Order packageOrder = new Order(); 

     packageOrder.setQuantity(quantity); 
     packageOrder.setPackageId(packageID); 
     packageOrder.getPrices().addAll(prices); 

     try { 
      Order orderResult = com.softlayer.api.service.product.Order.service(client).verifyOrder(packageOrder); 
      System.out.println("order: netscaler successfully verified: " + orderResult); 

     } catch (Exception e) { 
      System.out.println(e); 
     } 
    } 


public void orderVyattaTest() { 

    ArrayList<Price> prices = new ArrayList<Price>(); 

    Price pr1 = new Price(); 
    pr1.setId(13739l);prices.add(pr1); 
    Price pr2 = new Price(); 
    pr2.setId(21010l);prices.add(pr2); 
    Price pr3 = new Price(); 
    pr3.setId(36044l);prices.add(pr3); 
    Price pr4 = new Price(); 
    pr4.setId(876l);prices.add(pr4); 
    Price pr5 = new Price(); 
    pr5.setId(1267l);prices.add(pr5); 
    Price pr6 = new Price(); 
    pr6.setId(342l);prices.add(pr6); 

    Price pr7 = new Price(); 
    pr7.setId(273l);prices.add(pr7); 
    Price pr8 = new Price(); 
    pr8.setId(17129l);prices.add(pr8); 
    Price pr9 = new Price(); 
    pr9.setId(55l);prices.add(pr9); 
    Price pr10 = new Price(); 
    pr10.setId(58l);prices.add(pr10); 
    Price pr11 = new Price(); 
    pr11.setId(420l);prices.add(pr11); 
    Price pr12 = new Price(); 
    pr12.setId(418l);prices.add(pr12); 
    Price pr13 = new Price(); 
    pr13.setId(21l);prices.add(pr13); 
    Price pr14 = new Price(); 
    pr14.setId(57l);prices.add(pr14); 
    Price pr15 = new Price(); 
    pr15.setId(906l);prices.add(pr15); 

    Long packageID = 174l; // Vyatta pkgId 
    Long quantity = 1l; 

    Hardware newBareMetal = new Hardware(); 
    newBareMetal.setHostname("myhost"); 
    newBareMetal.setDomain("mydomain.com"); 

    // Create Order to verify 
    Order packageOrder = new Order(); 
    packageOrder.getHardware().add(newBareMetal); 
    packageOrder.getPrices().addAll(prices); 
    packageOrder.setQuantity(quantity); 
    packageOrder.setPackageId(packageID); 
    packageOrder.setLocation("3"); 

    try { 
     Order orderResult = com.softlayer.api.service.product.Order.service(client).verifyOrder(packageOrder); 
     System.out.println("order: vyatta successfully verified: " + orderResult); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

} 

答えて

0

を提出しなければならない、あなたはorderContainerオブジェクトを作成し、そこにあなたを追加する必要があります

import java.util.ArrayList; 

import com.softlayer.api.ApiClient; 
import com.softlayer.api.RestApiClient; 
import com.softlayer.api.service.Hardware; 
import com.softlayer.api.service.container.product.Order; 
import com.softlayer.api.service.product.item.Price; 

public class OrderVyatta { 

    public static void main(String[] args) { 

     String user = "set me"; 
     String apikey = "set me"; 

     ApiClient client = new RestApiClient().withCredentials(user, apikey); 

     ArrayList<Price> prices = new ArrayList<Price>(); 

     Price pr1 = new Price(); 
     pr1.setId(13739l);prices.add(pr1); 
     Price pr2 = new Price(); 
     pr2.setId(21010l);prices.add(pr2); 
     Price pr3 = new Price(); 
     pr3.setId(36044l);prices.add(pr3); 
     Price pr4 = new Price(); 
     pr4.setId(876l);prices.add(pr4); 
     Price pr5 = new Price(); 
     pr5.setId(1267l);prices.add(pr5); 
     Price pr6 = new Price(); 
     pr6.setId(342l);prices.add(pr6); 

     Price pr7 = new Price(); 
     pr7.setId(273l);prices.add(pr7); 
     Price pr8 = new Price(); 
     pr8.setId(17129l);prices.add(pr8); 
     Price pr9 = new Price(); 
     pr9.setId(55l);prices.add(pr9); 
     Price pr10 = new Price(); 
     pr10.setId(58l);prices.add(pr10); 
     Price pr11 = new Price(); 
     pr11.setId(420l);prices.add(pr11); 
     Price pr12 = new Price(); 
     pr12.setId(418l);prices.add(pr12); 
     Price pr13 = new Price(); 
     pr13.setId(21l);prices.add(pr13); 
     Price pr14 = new Price(); 
     pr14.setId(57l);prices.add(pr14); 
     Price pr15 = new Price(); 
     pr15.setId(906l);prices.add(pr15); 

     Long packageID = 174l; // Vyatta pkgId 
     Long quantity = 1l; 

     Hardware newBareMetal = new Hardware(); 
     newBareMetal.setHostname("myhost"); 
     newBareMetal.setDomain("mydomain.com"); 

     // Create Order to verify 
     Order packageOrder = new Order(); 
     packageOrder.getHardware().add(newBareMetal); 
     packageOrder.getPrices().addAll(prices); 
     packageOrder.setQuantity(quantity); 
     packageOrder.setPackageId(packageID); 
     packageOrder.setLocation("3"); 


     ArrayList<Order> orderContainners = new ArrayList<Order>(); 
     orderContainners.add(packageOrder); 
     Order order = new Order(); 
     order.getOrderContainers().addAll(orderContainners); 



     try { 
      Order orderResult = com.softlayer.api.service.product.Order.service(client).verifyOrder(order); 
      System.out.println("order: vyatta successfully verified: " + orderResult); 

     } catch (Exception e) { 
      System.out.println(e); 
     } 

    } 

} 

は、NetScalerのために問題がために使用されるオブジェクトである

0123:packageOrderは、その後、OrderオブジェクトにorderContainerオブジェクトを追加怒鳴るの例を参照してください。
import java.util.ArrayList; 

import com.softlayer.api.ApiClient; 
import com.softlayer.api.RestApiClient; 
import com.softlayer.api.service.container.product.Order; 
import com.softlayer.api.service.container.product.order.network.application.delivery.Controller; 
import com.softlayer.api.service.product.item.Price; 

public class OrderNetxcaler { 

    public static void main(String[] args) { 
     // 44964 : netscaler price id 
     // 17238 : static IP price id 

     String user = "set me"; 
     String apikey = "set me"; 

     ApiClient client = new RestApiClient().withCredentials(user, apikey); 

     // Netscaler VPX 10.5 standard 
     Price net_price = new Price(); 
     net_price.setId(44964l); 
     // static_price 
     Price static_price = new Price(); 
     static_price.setId(17238l); 

     ArrayList<Price> prices = new ArrayList<Price>(); 
     prices.add(net_price); 
     prices.add(static_price); 

     Long packageID = 192l; // Netscaler package 
     Long quantity = 1l; 

     // Create Order to verify 
     Controller packageOrder = new Controller(); 
     packageOrder.setQuantity(quantity); 
     packageOrder.setPackageId(packageID); 
     packageOrder.getPrices().addAll(prices); 

     try { 
      Order orderResult = com.softlayer.api.service.product.Order.service(client).verifyOrder(packageOrder); 
      System.out.println("order: netscaler successfully verified: " + orderResult); 

     } catch (Exception e) { 
      System.out.println(e); 
     } 

    } 

} 

よろしく

+0

ありがとうございます。注文のビータは発見していますが、ネットスケーラはまだウォーキングしていません。 Netscalerが無効な価格であるというエラーメッセージを返します。私がテストしたものを投稿させてください –

関連する問題