Как правильно построить запрос SOAP с помощью PHP
Мне нужно отформатировать / построить запрос для этого SOAP "оказание услуг":http://api.notificationmessaging.com/NMSOAP/NotificationService?wsdl
В идеале я хотел бы использовать собственный класс PHP SOAP, но яЯ начинаю задумываться, не является ли этот класс причиной моих проблем.
Руководство предоставляет этот пример:
1
FIRSTNAME
john
[email protected]
BdX7CqkmjSivyBgIcZoN4sPVLkx7FaXGiwsO
6464
985A8B992601985A
2008-12-12T00:00:00
NOTHING
EMAIL
Вот мусор, который производит мой PHP-запрос (из __getLastRequest ())
AAAAAAAAAAAAAAAAAAAAAAAAAAA
123456789
BBBBBBBBBBBB
2013-09-09T00:00:00
NOTHING
EMAIL
2
TEST
FIRSTNAME
John
LASTNAME
Smith
Мой вызов:
$client = new SoapClient('http://api.notificationmessaging.com/NMSOAP/NotificationService?wsdl', array( 'trace' => 1, 'exceptions' => 0 ) );
Параметры выглядят следующим образом (модифицировано фиктивными данными):
$email = '[email protected]';
$encrypt = 'AAAAAAAAAAAAAAAAAAAAAAAAAAA';
$notification_id = 123456789;
$random = 'BBBBBBBBBBBB';
$senddate = '2013-09-09T00:00:00';
$synchrotype = 'NOTHING';
$uidkey = 'EMAIL';
$content = array();
$content[] = array(
2 => 'TEST'
);
$dyn = array();
$dyn[] = array(
'FIRSTNAME' => 'John'
);
$dyn[] = array(
'LASTNAME' => 'Smith'
);
$params = array(
'email' => $email,
'encrypt' => $encrypt,
'notificationId' => $notification_id,
'random' => $random,
'senddate' => $senddate,
'synchrotype' => $synchrotype,
'uidkey' => $uidkey,
'content' => $content,
'dyn' => $dyn
);
Затем я выполняю запрос следующим образом:
$res = $client->__soapCall( 'sendObject', array( $email, $encrypt, $notification_id, $random, $senddate, $synchrotype, $uidkey, $content, $dyn ) );
Почему PHP не может правильно отформатировать мой запрос? Есть ли более прямой подход, где я мог бы написать XML "рукой" а затем опубликовать его с помощью cURL? "