Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP SOAP Procedure '' not present
 
 автор: serenya1983   (13.12.2010 в 12:26)   письмо автору
 
 


$server = new SoapServer("list.wsdl");
$server->addFunction("listSpecialities");
$server->handle();


Если вызвать функцию через PHP (так же SoapUI,Python) всё работает, когда вызывается через JAVA - ошибка Procedure 'listSpecialities' not present.

Помогите разобраться.

POST даннные вызовов:
Если вызывать на PHP:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ru.gov.economy:std.ws">
   <soapenv:Header/>
   <soapenv:Body>

      <urn:listSpecialitiesRequest>


Если на JAVA

<soap:Envelope
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>

 <listSpecialities xmlns="urn:ru.gov.economy:std.ws"></listSpecialities>

  Ответить  
 
 автор: deimand   (13.12.2010 в 16:47)   письмо автору
 
   для: serenya1983   (13.12.2010 в 12:26)
 

покажите list.wsdl и addFunction()

  Ответить  
 
 автор: serenya1983   (13.12.2010 в 19:23)   письмо автору
 
   для: deimand   (13.12.2010 в 16:47)
 

wsdl
http://94.140.214.66/soap/index.php?wsdl=list

$server->addFunction(array("listSpecialities","listHospitals","listDoctors"));

  Ответить  
 
 автор: deimand   (13.12.2010 в 20:37)   письмо автору
 
   для: serenya1983   (13.12.2010 в 19:23)
 

вот так попробуйте
$res = $client->listSpecialities(array('hospitalUid' => '1'));



stdClass Object
(
    [speciality] => Array
        (
            [0] => Общая практика
            [1] => Ревматолог
            [2] => Уролог
            [3] => Терапевт
            ....

  Ответить  
 
 автор: serenya1983   (13.12.2010 в 21:43)   письмо автору
 
   для: deimand   (13.12.2010 в 20:37)
 

Дак на PHP всё работает, именно так и вызывается, не работает на JAVA.
в wsdl описано style="document", а Java такое ощущение запрашивает в style='RPC'.
Возможно это и не связано с PHP SoapServer?

  Ответить  
 
 автор: deimand   (13.12.2010 в 22:58)   письмо автору
 
   для: serenya1983   (13.12.2010 в 21:43)
 

Служба работает, некорректный ответ приходит от некорректного запроса.

  Ответить  
 
 автор: Trianon   (13.12.2010 в 23:24)   письмо автору
 
   для: deimand   (13.12.2010 в 22:58)
 

в ответ на

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования