У меня была эта проблема, когда я вызывал метод мыла для получения моих данных, а затем возвращал строку json, когда я пытался выполнить json_decode, я просто продолжал получать ноль.
Поскольку я использовал nusoap для выполнения мыльного вызова, я попытался просто вернуть строку json, и теперь я могу сделать json_decode, поскольку мне действительно нужно было получить данные с помощью вызова SOAP, поэтому я до этого добавил add ob_start () include nusoap, id выполнил мой вызов и создал строку json, а затем перед возвратом строки json я сделал ob_end_clean () и ПОЛУЧИЛ МОЮ ПРОБЛЕМУ ИСПРАВЛЕНО:)
Пример
//HRT - SIGNED
//20130116
//verifica se um num assoc deco é valido
ob_start();
require('/nusoap.php');
$aResponse['SimpleIsMemberResult']['IsMember'] = FALSE;
if(!empty($iNumAssociadoTmp))
{
try
{
$client = new soapclientNusoap(PartnerService.svc?wsdl',
array(
// OPTS
'trace' => 0,
'exceptions' => false,
'cache_wsdl' => WSDL_CACHE_NONE
)
);
//MENSAGEM A ENVIAR
$sMensagem1 = '
<SimpleIsMember>
<request>
<CheckDigit>'.$iCheckDigitAssociado.'</CheckDigit>
<Country>Portugal</Country>
<MemberNumber">'.$iNumAssociadoDeco.'</MemberNumber>
</request>
</SimpleIsMember>';
$aResponse = $client->call('SimpleIsMember',$sMensagem1);
$aData = array('dados'=>$aResponse->xpto, 'success'=>$aResponse->example);
}
}
ob_end_clean();
return json_encode($aData);