2015-08-02 2 views
0

У меня эта проблема более недели, не имея возможности найти решение для нее. Я пытаюсь сделать вызов SOAP, где требуется структура запросуделает запрос SOAP неработающим

 <xs:element name="getMismatchRequest"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="LoginInfo" type="LoginInfoType"/> 
        <xs:element name="UserInput" type="UserInputType"/> 
       </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     <xs:complexType name="LoginInfoType"> 
      <xs:sequence> 

       <xs:element name="userName" nillable="true" type="xs:string"/> 
       <xs:element name="password" nillable="true" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 

     <xs:complexType name="UserInputType"> 
      <xs:sequence> 
       <xs:element name="panNo" nillable="true" type="xs:string"/> 
       <xs:element name="asseessmentyear" nillable="true" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 

Я пробовал различные способы, с помощью SoapClient & NuSOAP, а также, чтобы отправить «getMismatchRequest», но его не работает.

Ничто не работает для меня.

Это мой код с использованием SoapClient, учетные данные, которые я использую, являются рабочими.

$requestParams3 = array(
    'LoginInfo' => array(
     'userName' => 'XXXX', 
     'password' => 'XXXX' 
    ), 
    'addClient' => array(
     'addClientDetails' => array(
      'panNumber' => 'ADOFJ2323K', 
      'dateOfBirth' => '1983-12-01', 
      'email' => '[email protected]' 
     ) 
    ) 
); 

try { 
    $client = new SoapClient($wsdl, array(
     'cache_wsdl' => 0, 
     "trace" => true, 
     "exceptions" => false, 
     "soap_version" => "SOAP_1_1" 
    )); 


    $response = $client->addClientDetails($requestParams3); 
    print($client->__getLastRequestHeaders()); 
    print($client->__getLastResponseHeaders()); 
} catch (Exception $e) { 
    print(json_encode($e)); 
} 

print_r(json_encode($response)); 

Мне нужна помощь в получении правильного пути для выполнения этого запроса. Я чувствую, что ошибаюсь в создании шаблона запроса типа complextype.

EDIT: Извините за отсутствие важной части.

Я получаю эту ошибку:

{"faultstring":"Authentication failed. Please provide a valid User ID and Password","faultcode":"ns0:Client"} 

НЕКОТОРЫХ ДОПОЛНИТЕЛЬНО:

Я также попытался с помощью nusoap.php

это код:

require_once('build/nusoap/lib/nusoap.php'); 
$client = new nusoap_client($wsdl, true); 

$error = $client->getError(); 
if ($error) { 
    echo "<h2>Constructor error</h2><pre>" . $error . "</pre>"; 
} 
$result = ""; 

$requestParams3 = array('getTaxCredMismatchRequest' => array(
    'LoginInfo' => array(
     'userName' => 'XXXX', 
     'password' => 'XXXX' 
    ), 
    'UserInput' => array(
     'panNo' => 'AGOPN8324J', 
     'asseessmentyear' => '2014-15' 
    )) 
); 

if ($client) { 

    $client->soap_defencoding = 'UTF-8'; 
    $result = $client->call("getTaxCredMisMatch", $requestParams3); 
} 
if ($client->fault) { 
    echo "<h2>Fault</h2><pre>"; 
    print_r($result); 
    echo "</pre>"; 
} else { 
    $error = $client->getError(); 
    if ($error) { 
     echo "<h2>Error</h2><pre>" . $error . "</pre>"; 
    } else { 
     echo "<h2>zip code</h2><pre>"; 
     echo $result; 
     echo "</pre>"; 
    } 
} 

echo "<h2>Request</h2>"; 
echo "<pre>" . htmlspecialchars($client->request, ENT_QUOTES) . "</pre>"; 
echo "<h2>Response</h2>"; 
echo "<pre>" . htmlspecialchars($client->response, ENT_QUOTES) . "</pre>"; 

Ошибка:

Fault 

Array 
(
    [faultcode] => ns0:Client 
    [faultstring] => Array 
     (
      [!xml:lang] => en 
      [!] => Authentication failed. Please provide a valid User ID and Password 
     ) 

) 
Request 

POST /e-FilingWS/ditws HTTP/1.0 
Host: incometaxindiaefiling.gov.in 
User-Agent: NuSOAP/0.9.5 (1.123) 
Content-Type: text/xml; charset=UTF-8 
SOAPAction: "" 
Content-Length: 719 

<?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/" xmlns:ns9146="http://tempuri.org"><SOAP-ENV:Body><getTaxCredMismatchRequest xmlns="http://incometaxindiaefiling.gov.in/ditws/TaxCredMismatch/v_1_0"><LoginInfo xmlns=""><userName xmlns="">XXXX</userName><password xmlns="">XXXX</password></LoginInfo><UserInput xmlns=""><panNo xmlns="">AGOPN8324J</panNo><asseessmentyear xmlns="">2014-15</asseessmentyear></UserInput></getTaxCredMismatchRequest></SOAP-ENV:Body></SOAP-ENV:Envelope> 
Response 

HTTP/1.1 500 Internal Server Error 
Date: Sun, 02 Aug 2015 01:47:15 GMT 
Content-Type: text/xml; charset=utf-8 
SOAPAction: "" 
Accept: text/xml 
Set-Cookie: ITDEFILING=701055076661; Path=/e-Filing/; HttpOnly; Secure 
Via: 1.1 ID-0002262016415314 uproxy-4 
Transfer-Encoding: chunked 
Connection: Keep-alive 
Via: 1.1 ID-0002262044274430 uproxy-4 

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>ns0:Client</faultcode><faultstring xml:lang="en">Authentication failed. Please provide a valid User ID and Password</faultstring></env:Fault></env:Body></env:Envelope> 
+0

«Не работает» как? Если вы получаете сообщение об ошибке, что это такое? –

ответ

0

Вы подтвердили, что он работает с обычным мыльным клиентом, таким как SoapUI или что-то подобное?

+0

Похоже, у вас есть данные для входа в http://incometaxindiaefiling.gov.in. Возможно, вы захотите вывести их из Интернета. – codenesium

+0

спасибо, что указал. Я удалил его из мест, но оставил его в сообщении об ошибке. Еще раз спасибо. –

+0

Я не подтвердил это с помощью SoapUI. Я не знаком с этим. Очень новый для SOAP. –

Смежные вопросы