2014-08-27 3 views
-1

Вот мой WSDLЗапрос WSDL из PHP

http://validator5.addressdoctor.com/webservice5/v1/addressvalidation.asmx?WSDL

Я хочу написать PHP код, чтобы запросить этот WSDL. Вот мой код. И он возвращает адрес, который не указан.

define("ADDRESSDOCTOR_WSDL_URL","http://validator5.addressdoctor.com/webservice5/v1/addressvalidation.asmx?WSDL"); 
define("ADDRESSDOCTOR_USER_LOGIN","***"); 
define("ADDRESSDOCTOR_USER_PASSWORD","****"); 
$parameters = array(
    "FormatType"=>"WITH_ORGANIZATION", 
    "FormatDelimiter"=>"TAB", 
    "CountryType"=>"NAME_EN", 
    "CountryOfOrigin"=>"OFF", 
    "StreetWithHNo"=>true, 
    "FormatWithCountry"=>false, 
    "ElementAbbreviation"=>"OFF", 
    "PreferredScript"=>"LATIN_1", 
    "PreferredLanguage"=>"ENGLISH", 
    "StreetWithNumber"=>false, 
    "GlobalMaxLength"=>0, 
    "MaxResultCount"=>20, 
    "GlobalCasing"=>"UPPER", 
    "StandardizeInvalidAddresses"=>"OFF", 
    "FlexibleRangeExpansion"=>"ON", 
    "ProcessMode"=>"BATCH", 
    "MatchingScope"=>"ALL" 
); 

$address_element = array(
    "RecordID"=>"REC_1245887", 
    "DeliveryAddressLines"=>"250 East Marshall Street", 
    "Locality"=>"Richmond", 
    "PostalCode"=>"23219", 
    "Province"=>"Virginia", 
    "Country"=>"USA"); 

for($i=0;$i<sizeof($address_element);$i++): 
$client = new SoapClient(ADDRESSDOCTOR_WSDL_URL); 

    $function = $client->Process(array("login"=>ADDRESSDOCTOR_USER_LOGIN,"password"=>ADDRESSDOCTOR_USER_PASSWORD,"parameters"=>array("ProcessMode"=>"BATCH","ValidationParameters"=>$parameters),"addresses"=>$address_element[$i])); 
print_r(get_object_vars($function)); 
endfor; 

Возвращает: Array ([ProcessResult] => StdClass Object ([StatusCode] => 300 [StatusMessage] => адреса должны быть поставлены))

+0

Это хорошо. Удачи, выясняя это. –

ответ

0

Вы должны фактически попытаться работу вместо из того, что Stack сделает это за вас.

  1. Включить модуль мыльного ПГПСА в php.ini или проверить его уже включен с phpinfo()
  2. Написать сценарий, который создает клиент мыла из WSDL.
  3. Используйте getFunctions клиента мыла, чтобы убедиться, что вы можете вызывать методы, которые вы указываете в своем сообщении.

После того, как вы пройти все это, вы будете «помощь-в состоянии»

+0

Я уже сделал, и вот я до. Пожалуйста, помогите мне двигаться дальше – user2986104

+0

Я думаю, что это может быть ваш повтор по массиву адресов. Я думаю, вы можете передать его без этого цикла и отправить его как весь массив. Мне нужно было бы, чтобы поиграть с сервисом, чтобы подтвердить это;) – theRightTool

+0

Как я могу отправить вам кредит. Но я хочу отправить пакетный процесс для отправки нескольких адресов в один запрос. – user2986104