Create create = new Create();
ZObject[] objs = new ZObject[1];
// create account
Account acc = new Account();
acc.setBatch("Batch1");
acc.setBillCycleDay(1);
acc.setAutoPay(true);
acc.setName("Some Active Account");
acc.setPaymentTerm("Due Upon Receipt");
acc.setStatus("Draft");
objs[0] = acc;
create.setZObjects(objs);
CreateResponse resp = stub.create(create, this.header);
SaveResult[] res = resp.getResult();
ID accountId = res[0].getId();
// create contact
Contact con = new Contact();
con.setFirstName("James");
con.setLastName("Smith");
con.setAddress1("52 Rexford Lane");
con.setCity("Anaheim");
con.setState("California");
con.setCountry("United States");
con.setPostalCode("92808");
con.setWorkEmail("james.smith@example.com");
con.setWorkPhone("5555551212");
con.setAccountId(accountId);
objs[0] = con;
create.setZObjects(objs);
resp = stub.create(create, this.header);
res = resp.getResult();
ID contactId = res[0].getId();
// create payment method
PaymentMethod pm = new PaymentMethod();
pm.setName("Visa Credit Card");
pm.setType("CreditCard");
pm.setActive(true);
pm.setCreditCardType("Visa");
pm.setCreditCardAddress1("52 Rexford Lane");
pm.setCreditCardCity("Anaheim");
pm.setCreditCardState("California");
pm.setCreditCardPostalCode("92808");
pm.setCreditCardCountry("United States");
pm.setCreditCardHolderName("James Smith");
pm.setCreditCardExpirationYear(2009);
pm.setCreditCardExpirationMonth(1);
pm.setCreditCardNumber("4111 1111 1111 1111");
pm.setAccountId(accountId);
objs[0] = pm;
create.setZObjects(objs);
resp = stub.create(create, this.header);
res = resp.getResult();
ID pmId = res[0].getId();
// set required active fields and activate
Account accUpdate = new Account();
accUpdate.setId(accountId);
accUpdate.setSoldToId(contactId);
accUpdate.setBillToId(contactId);
accUpdate.setDefaultPaymentMethodId(pmId);
accUpdate.setStatus("Active");
objs[0] = accUpdate;
Update update = new Update();
update.setZObjects(objs);
UpdateResponse updateResp = stub.update(update, this.header);
boolean success = updateResp.getResult()[0].getSuccess();