Веб-сервис NuSOAP PHP

Вы можете использовать PATHCONTAINS, чтобы определить, есть ли Member[MemberId] в CUSTOMDATA(). Если вы не можете передать список, разделенный символом канала, вы можете использовать SUBSTITUTE для преобразования разделителя в канал.

PATHCONTAINS(SUBSTITUTE(CUSTOMDATA(), ",", "|"), Member[MeberId])

Имейте в виду, что если в CUSTOMDATA() есть пробел, он не будет совпадать. То есть, если пользовательские данные равны 1, 2, 3 , а идентификатор элемента равен 2 , совпадения не будет, поскольку второй элемент в пользовательских данных содержит пробел. [ 117]

5
задан maxf130 3 September 2013 в 07:27
поделиться

4 ответа

, хотя NuSOAP - очень распространенная библиотека PHP SOAP, я думаю, что это основное применение в приложениях PHP4. потому что PHP5 имеет встроенное расширение SOAP, которое работает быстрее (потому что это скомпилированное расширение). Я также рекомендую использовать библиотеку Zend Framework SOAP. но я помню, что хотел использовать какой-то веб-сервис (не написанный мной, реализованный на Java), и ни один из этих клиентов SOAP не работал, кроме NuSOAP. и я действительно не мог понять, почему.

в любом случае, вот что я сделал, чтобы использовать этот веб-сервис тогда:

$soapClient = new nusoap_client($wsdlFile, 'wsdl', '', '', '', '');
$soapClient->soap_defencoding = 'UTF-8';
$soapClient->debug_flag = false;
$soapError = $soapClient->getError();
if (! empty($soapError)) {
    $errorMessage = 'Nusoap object creation failed: ' . $soapError;
    throw new Exception($errorMessage);
}
// calling verifyT method, using 2 parameters.
$tResult = $soapClient->call( 'verifyT', array($param1, $param2) );
$soapError = $soapClient->getError();
if (! empty($soapError)) {
    $errorMessage = 'SOAP method invocation (verifyT) failed: ' . $soapError;
    throw new Exception($errorMessage);
}
if ($soapClient->fault) {
    $fault = "{$soapClient->faultcode}: {$soapClient->faultdetail} ";
    // handle fault situation
}
8
ответ дан 18 December 2019 в 09:53
поделиться

Да, вы делаете что-то не так. Трудно понять, что основано на пустой странице, но я бы начал с этой строки, которая не похожа на действительный PHP:

$ param = 'John'; # array ('name' => 'John' );

"#" не запускает комментарий в PHP; «//» делает

Если исправление приводит к пустой странице, включите отчеты об ошибках и / или добавьте дополнительные выходные данные, чтобы увидеть, что именно происходит.

1
ответ дан 18 December 2019 в 09:53
поделиться

Не используйте NuSoap. PHP имеет собственный собственный мыльный клиент начиная с версии 5, который гораздо более стабилен, кроме того, что он быстрее.

.. когда веб-страница загружается, я получаю пустую страницу, ничего не ..

Это, вероятно, фатальная ошибка. Попробуйте проверить журналы ошибок, чтобы увидеть, что пошло не так. Или установите display_errors = on

4
ответ дан 18 December 2019 в 09:53
поделиться

Не используйте NUSOAP. PHP имел родной SOAP CLIENT с версии 5

Есть несколько веских причин, чтобы продолжать использование NUSOAP на PHP5:

  • NUSOAP генерирует список методов Когда вы Get Страница
  • NUSOAP генерирует WSDL «На лету» действительно полезная функция, которая не является предоставляется родным внедрением Мыло в PHP 5
4
ответ дан 18 December 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: