Я хочу достичь этого xml.SOAP: построить конверт в php
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://eid.equifax.com/soap/schema/canada/v2">
<soapenv:Header/>
<soapenv:Body>
<v2:InitialRequest>
<v2:Identity>
<v2:Name>
<v2:FirstName>MILO</v2:FirstName>
<v2:LastName>TESTADD</v2:LastName>
</v2:Name>
<!--1 to 3 repetitions:-->
<v2:Address timeAtAddress="50" addressType="Current">
<v2:HybridAddress>
<v2:AddressLine>731 BAY AVE</v2:AddressLine>
<v2:City>Kelowna</v2:City>
<v2:Province>BC</v2:Province>
<v2:PostalCode>V1Y7K2</v2:PostalCode>
</v2:HybridAddress>
</v2:Address>
<v2:DateOfBirth>
<v2:Day>03</v2:Day>
<v2:Month>03</v2:Month>
<v2:Year>1989</v2:Year>
</v2:DateOfBirth>
</v2:Identity>
<v2:ProcessingOptions>
<v2:Language>English</v2:Language>
</v2:ProcessingOptions>
</v2:InitialRequest>
</soapenv:Body>
</soapenv:Envelope>
Итак, пока я создал это:
$all_names = array('FirstName'=>"PERFUME",
'LastName'=>"TESTSWEET");
$all_addresses = array('AddressLine'=>"109 ALBERT ST NE",
'City'=>"AIRDRIE",
'Province'=>"AB",
'PostalCode'=>"T4B0R5"
);
$hybrid_address = array('HybridAddress'=>$all_addresses);
$dob = array('Day'=>"31",
'Month'=>"09",
'Year'=>"1972"
);
$identity = array('Name'=>$all_names,
'Address'=>$hybrid_address,
'DateOfBirth'=>$dob
);
$language = array('Language'=>'English');
$initial_request = array('Identity'=>$identity,
'ProcessingOptions'=>$language
);
$test = $client->__call('startTransaction', array('initialRequest'=>$initial_request));
Но, я не знаю, что случилось здесь. Это дает мне внутреннюю ошибку сервера.
PS: Данные кажутся разными, b'coz Я копировал из разных источников.
EDIT
[14-May-2015 17:02:03 America/Toronto] PHP Fatal error: Uncaught SoapFault exception: [soap:Server] Unexpected internal error in D:\home\site\wwwroot\application\third_party\WSSoapClient.php:61
Stack trace:
#0 D:\home\site\wwwroot\application\third_party\WSSoapClient.php(61): SoapClient->__call('startTransactio...', Array)
#1 D:\home\site\wwwroot\application\controllers\equifax.php(58): WSSoapClient->__call('startTransactio...', Array)
#2 [internal function]: Equifax->verify()
#3 D:\home\site\wwwroot\system\core\CodeIgniter.php(359): call_user_func_array(Array, Array)
#4 D:\home\site\wwwroot\index.php(227): require_once('D:\\home\\site\\ww...')
#5 {main}
thrown in D:\home\site\wwwroot\application\third_party\WSSoapClient.php on line 61
Что-нибудь в журнале ошибок, чтобы сузить его? Сообщается ли об ошибках? – chris85
Да. Все в порядке. Проверьте мое редактирование, пожалуйста. –
@ chris85: Из-за этого я не могу использовать эту функцию для получения последнего запроса: '__getLastRequest()' –