Я пытаюсь читать сущности из QuickBooks, но я получаю NULL от DataService.
Я тестирую на своем локальном хосте (LAMP),
Я создал приложение учета и SandBox.
Я скачал SDK версии 2.2.0 для PHP отсюда https://developer.intuit.com/docs/0100_accounting/0500_developer_kits/0209_php/php_sdk_for_quickbooks_v3
Я изменил baseURI на песочницу в SDK_ROOT / sdk.conf
<baseUrl qbd="https://quickbooks.api.intuit.com/"qbo="https://quickbooks.api.intuit.com/"ipp="https://appcenter.intuit.com/api/" />
Я получаю жетон Oauth и сохраняю его в сеансе,
PHP:
$token = unserialize($_SESSION['token']);
$requestValidator = new OAuthRequestValidator(
$token['oauth_token'], $token['oauth_token_secret'],
OAUTH_CONSUMER_KEY,
OAUTH_CONSUMER_SECRET
);
$realmId = $_SESSION['realmId'];
$serviceType = $_SESSION['dataSource'];
$serviceContext = new ServiceContext($realmId, $serviceType, $requestValidator);
$dataService = new DataService($serviceContext);
$startPosition = 1;
$maxResults = 100;
$allEntities = $dataService->FindAll('Customer', $startPosition, $maxResults);
$ allEntities всегда NULL.
Когда я пытаюсь сохранить, я получаю:
CheckNullResponseAndThrowException - Response Null or Empty thrown
$customer = new IPPCustomer();
$customer->DisplayName = "NewOne123";
$dataService->add($customer);
Я что-то пропустил?
ОБНОВИТЬ:
В классе SyncRestHandler
когда я распечатываю ответ от (строка: ~ 269)
$this->GetOAuthResponseHeaders($oauth)
Я получил:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-10-09T02:29:24.520-07:00">
<Fault type="SystemFault">
<Error code="10000" element="SystemFailureError">
<Message>An application error has occurred while processing your request</Message>
<Detail>System Failure Error: java.lang.NullPointerException</Detail></Error></Fault>
</IntuitResponse>
Задача ещё не решена.
Других решений пока нет …