Я использую локальный WSDL для вызовов сервисов.Я хорошо передаю / извлекаю данные, когда один или несколько параметров ожидаются сервисным методом (-ами), но когда метод ожидает 2 или более параметров, он выдает ошибку.По иронии судьбы, когда я пытаюсь передать 2 или более параметров, он говорит, что он ожидает только 1. Метод createIdentity ожидает 2 параметра (processId = string & identityAttributes = объект, состоящий из свойств, найденных в коде ниже.) Я включаюошибки при передаче параметров 1 и 2.
<?php
set_time_limit(0);
require_once('nusoap.php');
require_once('BenefitSOAP.php');
$client = new SoapClient('C:\wsdl\BenefitDeterminationProcess_BenefitDialogueServiceSOAP.wsdl', array('trace' => 1));
$procID = (array)$client->start(array("prefix"=>""));
$newStringID = implode(null, $procID); //
$exchange = $client->exchangeOptions($procID);
$identityAttributes = new IdentityAttributes();
$identityAttributes->ssn = 41441414;
$identityAttributes->firstName = 'John2';
$identityAttributes->lastName = 'Doe2';
$identityAttributes->gender = 'MALE';
$identityAttributes->birthDate = NULL;
echo "TYPE: ".gettype($newStringID);
echo "NS: ".$newStringID;
$identity = $client->establishIdentity($newStringID); //LINE 33
//$identity = $client->establishIdentity($newStringID, $identityAttributes); OR LINE 33//establishIdentity expects 2 parameters (processId = string, identityAttributes = object)
$end = $client->stop($procID);
?>
Ошибка при передаче 1 параметра:
TYPE: stringNS: 223205
Неустранимая ошибка: UncaughtИсключение SoapFault: [HTTP] Ошибка получения заголовков http в C: \ wamp \ www \ SugarCE \ testSOAPShawn.php: 33 Трассировка стека: # 0 [внутренняя функция]: SoapClient -> _ doRequest (' _call ('createIdenti ...', Array) # 2 C: \ wamp \ www \ SugarCE \ testSOAPShawn.php (33): SoapClient-> EstabIdentity ('223205')>> # 3 {main}, брошенный в C: \ wamp \www \ SugarCE \ testSOAPShawn.php в строке 33
Ошибка при передаче 2 параметров:
TYPE: stringNS: 237506
Неустранимая ошибка: Uncaught SoapFault исключение: [soapenv: Сервер] javax.xml.ws.WebServiceException: com.ibm.websphere.sca.ServiceRuntimeException: Произошла ошибка при синтаксическом анализе собственных данных: Сообщение об ошибке: java.lang.IllegalArgumentException: Несоответствующий счетчик параметров: ожидается 1 элемент, но получено больше .. Причина: java.lang.IllegalArgumentException: Несоответствие количества параметров: ожидается 1 элемент, но получено больше .: вызвано: Произошла ошибка при синтаксическом анализе собственных данных: Сообщение об ошибке: java.lang.IllegalArgumentException: Несоответствие количества параметров: ожидается 1 элемент, но получено больше ..Причина: java.lang.IllegalArgumentException: Несоответствующий счетчик параметров: ожидал 1 элементов, но получил больше.в C: \ wamp \ www \ SugarCE \ testSOAPShawn.php: 33 Трассировка стека: # 0 [внутренняя функция]: SoapClient -> __ call ('createIdenti ...', Array) # 1 C: \ wamp \ www \ SugarCE \testSOAPShawn.php (33): SoapClient-> EstabIdentity ('237506', Object (IdentityAttributes)) # 2 {main}, брошенный в C: \ wamp \ www \ SugarCE \ testSOAPShawn.php в строке 33
Любая помощь очень ценится!