I would suggest you to try it from your system(not using GAE). If it works well, then you may need to configure your GAE env(may be some proxy settings ? or limited outbound requests etc).
I tried the following code and it worked fine.
public void createNoOfPurchaseUsingBatch(int noOfPurchaseInBatch) {
BatchOperation batchOperation = new BatchOperation();
for (int i = 1; i <= noOfPurchaseInBatch; i = i + 1) {
Customer customer = createCustomer();
batchOperation.addEntity(customer, OperationEnum.CREATE, "bID" + i);
}
try {
this.service.executeBatch(batchOperation);
} catch (FMSException e) {
e.printStackTrace();
}
}
private Customer createCustomer() {
Customer cust = new Customer();
cust.setDisplayName("HelloWorld " + UUID.randomUUID().toString().substring(0, 5));
return cust;
}
Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitBatchRequest xmlns="http://schema.intuit.com/finance/v3">
<BatchItemRequest bId="bID1" operation="create">
<Customer>
<DisplayName>HelloWorld 0d89f</DisplayName>
</Customer>
</BatchItemRequest>
<BatchItemRequest bId="bID2" operation="create">
<Customer>
<DisplayName>HelloWorld 90251</DisplayName>
</Customer>
</BatchItemRequest>
</IntuitBatchRequest>
Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-05-01T06:56:43.373-07:00">
<BatchItemResponse bId="bID1">
<Customer domain="QBO" sparse="false">
<Id>7</Id>
<SyncToken>0</SyncToken>
<MetaData>
<CreateTime>2014-05-01T06:56:43-07:00</CreateTime>
<LastUpdatedTime>2014-05-01T06:56:43-07:00</LastUpdatedTime>
</MetaData>
<FullyQualifiedName>HelloWorld 0d89f</FullyQualifiedName>
<DisplayName>HelloWorld 0d89f</DisplayName>
<PrintOnCheckName>HelloWorld 0d89f</PrintOnCheckName>
<Active>true</Active>
<Taxable>false</Taxable>
<Job>false</Job>
<BillWithParent>false</BillWithParent>
<Balance>0</Balance>
<BalanceWithJobs>0</BalanceWithJobs>
<CurrencyRef name="Australian Dollar">AUD</CurrencyRef>
<PreferredDeliveryMethod>Email</PreferredDeliveryMethod>
</Customer>
</BatchItemResponse>
<BatchItemResponse bId="bID2">
<Customer domain="QBO" sparse="false">
<Id>8</Id>
<SyncToken>0</SyncToken>
<MetaData>
<CreateTime>2014-05-01T06:56:43-07:00</CreateTime>
<LastUpdatedTime>2014-05-01T06:56:43-07:00</LastUpdatedTime>
</MetaData>
<FullyQualifiedName>HelloWorld 90251</FullyQualifiedName>
<DisplayName>HelloWorld 90251</DisplayName>
<PrintOnCheckName>HelloWorld 90251</PrintOnCheckName>
<Active>true</Active>
<Taxable>false</Taxable>
<Job>false</Job>
<BillWithParent>false</BillWithParent>
<Balance>0</Balance>
<BalanceWithJobs>0</BalanceWithJobs>
<CurrencyRef name="Australian Dollar">AUD</CurrencyRef>
<PreferredDeliveryMethod>Email</PreferredDeliveryMethod>
</Customer>
</BatchItemResponse>
</IntuitResponse>
Thanks