2015-12-17 3 views
0

Хотя Запуск ниже Кодекса,Ошибка при создании записи через Salesforce API

private static void createAccounts() { 

    Itil_b__Incident__c[] records = new Itil_b__Incident__c[5]; 

    try { 

     // create 5 test accounts 
     for (int i=0;i<1;i++) { 
     Itil_b__Incident__c a = new Itil_b__Incident__c(); 
     a.setCurrencyIsoCode("USD"); 
     a.setIsDeleted(Boolean.FALSE); 
     a.setItil_b__Age_Minutes__c(29d); 
     a.setHas_Managed_Services__c(Boolean.FALSE); 
     a.setItil_b__Priority_from_ITIL_Matrix__c("Medium"); 
     a.setItil_b__Priority__c("Medium"); 
     a.setItil_b__Description__c("Testing API Descrition"); 
     a.setRank_Zero__c(Boolean.FALSE); 
     a.setItil_b__Close_With_Problem__c(Boolean.FALSE); 
     a.setItil_b__Subject__c("Test from API"); 
     a.setItil_b__Origin__c("Phone"); 
     a.setItil_b__Age__c("29 Days"); 
     a.setItil_b__Status__c("New"); 
     a.setAssigned_for_Today__c(Boolean.FALSE); 
     a.setItil_b__Urgency__c("P4 - Low"); 
     a.setItil_b__Category__c("Request"); 
     a.setItil_b__Impact__c("Low"); 
     a.setSeverity__c("Sev4"); 
     records[i] = a; 
     } 

     // create the records in Salesforce.com 
     SaveResult[] saveResults = connection.create(records); 

     // check the returned results for any errors 
     for (int i=0; i< saveResults.length; i++) { 
     if (saveResults[i].isSuccess()) { 
      System.out.println(i+". Successfully created record - Id: " + saveResults[i].getId()); 
     } else { 
      Error[] errors = saveResults[i].getErrors(); 
      for (int j=0; j< errors.length; j++) { 
      System.out.println("ERROR creating record: " + errors[j].getMessage()); 
      } 
     }  
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    }  

    } 

я получаю ошибку ниже в строке saveResults,

[InvalidSObjectFault [ApiQueryFault [ApiFault exceptionCode='INVALID_TYPE' 
exceptionMessage='Must send a concrete entity type.' 
] 
row='-1' 
column='-1' 
] 
] 

Я создаю новую запись в обычае sObject [Itil_b__Incident__c] через API Java, можете ли вы, пожалуйста, помочь мне, возможно, отсутствовать?

ответ

0

Проверьте свою петлю. У вас есть for (int i = 0; i < 1; i++) {. В вашем комментарии говорится, что вы хотите создать 5 объектов, поэтому должно быть for (int i=0; i<5; i++) {.

Кроме того, я не знаком с Java API - я использую API Python. Обычно в моих случаях мне нужно сериализовать мои объекты в JSON, так как я использую REST API. Является ли Java API автоматически выполняющим сериализацию JSON для вас в методе создания? У ваших объектов Itil_b__Incident__c есть метод toJson(), который возвращает строку JSON?