За последние 24 часа нас посетили 15225 программистов и 1684 робота. Сейчас ищут 923 программиста ...

Не работает NuSoap клиент

Тема в разделе "Прочие вопросы по PHP", создана пользователем maives, 19 апр 2012.

  1. maives

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

    С нами с:
    7 июл 2009
    Сообщения:
    12
    Симпатии:
    0
    Адрес:
    Ставрополь
    Собственно сам клиент:

    Код (Text):
    1.  
    2. <?php
    3. require_once('lib/nusoap.php');
    4.  
    5. $proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
    6. $proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
    7. $proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
    8. $proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
    9.  
    10. $client = new nusoap_client('http://www.audatex.ru/b2b/services/TaskService_v1?wsdl', 'wsdl', $proxyhost, $proxyport, $proxyusername, $proxypassword);
    11. $err = $client->getError();
    12. if ($err) {
    13.     echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
    14. }
    15.  
    16. $param = array(
    17.         'loginId' => 'myuser',
    18.     'password' => 'mypassword',
    19.     'maxCount' => '10',
    20.     'startAtIndex' => '1',
    21.     'onlyMarkedTasks' => 'false',
    22.     'fieldsToReturn' => 'CaseId,TaskId,ClaimNumber,PlateNumber');
    23.  
    24.  
    25. $result = $client->call('getTaskList', array('parameters' => $param), '', '', false, true);
    26.  
    27. if ($client->fault) {
    28.     echo '<h2>Fault</h2><pre>';
    29.     print_r($result);
    30.     echo '</pre>';
    31. } else {
    32.    
    33.     $err = $client->getError();
    34.     if ($err) {
    35.            
    36.         echo '<h2>Error</h2><pre>' . $err . '</pre>';
    37.     } else {
    38.        
    39.         echo '<h2>Result</h2><pre>';
    40.         print_r($result);
    41.         echo '</pre>';
    42.     }
    43. }
    44. echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
    45. echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
    46. echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
    47. ?>
    По идеи он должен отправить xml следующего вида:

    Код (Text):
    1.  
    2. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    3. xmlns:ser="http://serviceinterface_v1.b2b.audatex.com">
    4. <soapenv:Header/>
    5. <soapenv:Body>
    6. <ser:getTaskListRequest>
    7. <ser:parameter>
    8. <ser:name>loginId</ser:name>
    9. <ser:value>myuser</ser:value>
    10. </ser:parameter>
    11. <ser:parameter>
    12. <ser:name>password</ser:name>
    13. <ser:value>mypassword</ser:value>
    14. </ser:parameter>
    15. <ser:parameter>
    16. <ser:name>maxCount</ser:name>
    17. <ser:value>10</ser:value>
    18. </ser:parameter>
    19. <ser:parameter>
    20. <ser:name>startAtIndex</ser:name>
    21. <ser:value>1</ser:value>
    22. </ser:parameter>
    23. <ser:parameter>
    24. <ser:name>onlyMarkedTasks</ser:name>
    25. <ser:value>false</ser:value>
    26. </ser:parameter>
    27. <ser:parameter>
    28. <ser:name>fieldsToReturn</ser:name>
    29. <ser:value>CaseId,TaskId,ClaimNumber,PlateNumber</ser:value>
    30. </ser:parameter>
    31. </ser:getTaskListRequest>
    32. </soapenv:Body>
    33. </soapenv:Envelope>
    На практике при отладки я вижу что он посылает:
    Код (Text):
    1.  
    2. POST /b2b/services/TaskService_v1 HTTP/1.0
    3. Host: www.audatex.ru
    4. User-Agent: NuSOAP/0.9.5 (1.123)
    5. Content-Type: text/xml; charset=UTF-8
    6. SOAPAction: ""
    7. Content-Length: 397
    8.  
    9. <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><getTaskListRequest xmlns="http://serviceinterface_v1.b2b.audatex.com"/></SOAP-ENV:Body></SOAP-ENV:Envelope>
    Соответственно возвращая мне следующие:

    Код (Text):
    1.  
    2. Array
    3. (
    4.     [returnCode] => 2
    5.     [loginId] =>
    6.     [hostName] => axn-oc09-de.audatex.net
    7.     [timestamp] => 2012-04-19T05:52:50.189Z
    8.     [message] => Array
    9.         (
    10.             [messageCode] => B2BService.UserNotAuthenticated
    11.             [severity] => 2
    12.             [text] => Invalid user or password
    13.         )
    14. )
    Если кто сталкивался с похожей проблемой подскажите в какую сторону копать, ранее с SOAP вообще не работал. Заранее спасибо!