Точная цель «Объект» nbsp «не определен» ошибка

Я использую стартовый набор Exact Target PHP API, найденный на http://help.exacttarget.com/en/technical_library/web_service_guide/api_starter_kits/ , и пытается подключиться, используя пример кода. Для справки приведен пример кода:

<?php
echo '<pre>';
require('../../00 Includes/exacttarget_soap_client.php');

<?php
echo '<pre>';
require('../../00 Includes/exacttarget_soap_client.php');

$wsdl = 'https://webservice.s6.exacttarget.com/Service.asmx';

try{

/* Create the Soap Client */
$client = new ExactTargetSoapClient($wsdl, array('trace'=>1));

/* Set username and password here */
$client->username = '<ommitted>';
$client->password = '<omitted>';

$request = new ExactTarget_RetrieveRequest();
$objectType= "Subscriber";
$request->ObjectType= $objectType;

$request->Properties = array("ID","PartnerKey","CreatedDate","Client.ID","Client.PartnerClientKey","EmailAddress","SubscriberKey","UnsubscribedDate","StatusSubscriberStatus");

// Filter retrieve on a particular email address
$filter1 = new ExactTarget_SimpleFilterPart() ;
$filter1->Property= "EmailAddress";
$filter1->SimpleOperator=ExactTarget_SimpleOperators::equals;
$filter1->Value=array("info@exacttarget.com");   //email address to filter on

$request->Filter = new SoapVar($filter1, SOAP_ENC_OBJECT, 'SimpleFilterPart', "http://exacttarget.com/wsdl/partnerAPI");

$requestMsg = new ExactTarget_RetrieveRequestMsg();
$requestMsg->RetrieveRequest=$request;
$results = $client->Retrieve($requestMsg);

/* Output the results */
echo 'Results:';
var_dump($results);


} catch (SoapFault $e) {
/* output the resulting SoapFault upon an error */
var_dump($e);
}

/* Output the request and response */
print "Request: \n".   $client->__getLastRequestHeaders() ."\n";
print "Request: \n".
$client->__getLastRequest() ."\n";
print "Response: \n".
$client->__getLastResponseHeaders()."\n";
print "Response: \n".
$client->__getLastResponse()."\n";

echo '</pre>';
?>

Когда я запускаю этот код, я получаю исключение с сообщением:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://webservice.s6.exacttarget.com/Service.asmx' : Entity 'nbsp' not defined

Я использовал точный API цели раньше, и в этом были две странные вещи:

  1. Ошибка возникает в строке 10 и вызывается в конструкторе SoapClient, который наследуется классом suretarget_soap_client.
  2. Мне было присвоено имя пользователя с пробелом в нем.
  3. Оригинальный набор API использует URL-адрес wsdl https://webservice.exacttarget.com/etframework.wsdl , что приводит к ошибке «Неправильная конечная точка». Итак, я попробовал это с использованием каждой из конечных точек, перечисленных в https://salesforce.stackexchange.com/questions/44614/request-was-made-to-the-incorrect-endpoint . Используя любую из этих конечных точек, я получаю ошибку «Не определена сущность».

Кто-нибудь еще сталкивался с этой проблемой?

1

Решение

Для экземпляра s6 мне нужно было изменить URL-адрес на https://webservice.s6.exacttarget.com/etframework.wsdl. Кроме того, похоже, что у стартового комплекта есть какой-то другой устаревший код. Я упомянул это для точной цели, и они сняли версию php (non-Fuel).

0

Другие решения

Других решений пока нет …