За последние 24 часа нас посетили 16435 программистов и 1677 роботов. Сейчас ищут 846 программистов ...

web-services. Вызов сервиса

Тема в разделе "Прочие вопросы по PHP", создана пользователем Ivan, 22 дек 2008.

  1. Ivan

    Ivan Активный пользователь

    С нами с:
    22 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте.
    Есть файл wsdl с двумя сервисами: getDogId - получить ID Договора, getDogConnections - получить неудаленные подключения договора. При работе с сервисом getDogConnections возникают проблемы.
    PHP:
    1.  
    2. <?php
    3. $wsdl = "http://localhost/wsdl/DogInfo.wsdl";
    4. $client = new SoapClient($wsdl, array('trace' => true, 'execptions' => true));
    5. // функция funcGetDogId возвращает ID Договора, функция работает!
    6. $ReqAnswer = funcGetDogId($client, 78030);
    7. $dog_id = $ReqAnswer -> dog_id;
    8.  
    9. $ReqData = new stdClass();
    10. $ReqData -> dog_id = $dog_id;
    11.  
    12. // На этой строке выбрасывается исключение
    13. $reg = $client -> getDogConnections($ReqData);
    14. ?>
    15.  
    SoapFault exception: [Client] looks like we got no XML document in Z:\home\localhost\www\html\Accounts\personaltariff.php:281 Stack trace: #0 [internal function]: SoapClient->__call('getDogConnectio...', Array) #1 Z:\home\localhost\www\html\Accounts\personaltariff.php(281): SoapClient->getDogConnections(Object(stdClass)) #2 {main}

    В чем может быть проблема, подскажите пожалуйста.
    HTML:
    1.  
    2. Частичное описание сервиса:
    3. <message name="getDogConnectionsRequest">
    4. <part name="request" element="ws:getDogConnectionsRequest" />
    5. </message>
    6. <message name="getDogConnectionsResponse">
    7. <part name="response" element="ws:getDogConnectionsResponse" />
    8. </message>
    9. <operation name="getDogConnections">
    10. <soap:operation soapAction="ws:getDogConnections" />
    11. <soap:body use="literal" />
    12. <soap:body use="literal" />
    13. </operation>
    14.  
    15. Вывод функции типов:
    16. $client->__getTypes() :
    17. struct getDogConnectionsRequest { int dog_id; }
    18.  
    19. Вывод данной функции:
    20. $client->__getFunctions() :
    21. getDogConnectionsResponse getDogConnections(getDogConnectionsRequest $request)
    22.  
    23. Такая вот информация в файле схемы .xsd:
    24. <xs:complexType name="getDogConnectionsRequest">
    25. <xs:annotation>
    26. <xs:documentation>Запрос статуса подключений</xs:documentation>
    27. </xs:annotation>
    28. <xs:attribute ref="st:dog_id" use="required" />
    29. </xs:complexType>
    30. <xs:complexType name="getDogConnectionsResponse">
    31. <xs:annotation>
    32. <xs:documentation>Возврат статусов подключений</xs:documentation>
    33. </xs:annotation>
    34. <xs:sequence>
    35. <xs:element name="ConnectionInfo" type="st:ConnectionInfo" />
    36. </xs:sequence>
    37. </xs:complexType>
     
  2. alBoo

    alBoo Активный пользователь

    С нами с:
    27 мар 2008
    Сообщения:
    63
    Симпатии:
    0
    скорее всего в getDogConnections скрипт отваливается с ошибкой
    посмотри логи