Какие изменения необходимо внести в xampp для вызова веб-сервисов .net? - PullRequest
0 голосов
/ 11 декабря 2011

Я работаю над Drupal 6, создавая свои собственные пользовательские модули.До недавнего времени я мог вызывать свои .net веб-сервисы из моего php-файла.Я помню, что искал модификацию, которая должна быть сделана в настройке xampp (я смутно помню, что это php.ini).Но моя система сломалась, и мне нужно было начинать все заново. У меня есть код для модулей без изменений;однако вызов веб-служб просто не работает.

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl' : failed to load external entity "https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl" in C:\xampp\htdocs\drupalHome\sites\all\modules\freeway_module\freeway.admin.inc:22 Stack trace: #0 C:\xampp\htdocs\drupalHome\sites\all\modules\freeway_module\freeway.admin.inc(22): SoapClient->SoapClient('https://freeway...', Array) #1 [internal function]: send_for_translation(Array) #2 C:\xampp\htdocs\drupalHome\includes\form.inc(377): call_user_func_array('send_for_transl...', Array) #3 [internal function]: drupal_retrieve_form('send_for_transl...', Array) #4 C:\xampp\htdocs\drupalHome\includes\form.inc(103): call_user_func_array('drupal_retrieve...', Array) #5 [internal function]: drupal_get_form('send_for_transl...') #6 C:\xampp\htdocs\drupalHome\includes\menu.inc(349): call_user_func_array('drupal_get_form', Array) #7 C:\xampp\htdocs\drupalHome\index.php(17): m in C:\xampp\htdocs\drupalHome\sites\all\modules\freeway_module\freeway.admin.inc on line 22

Это ошибка, которую он выдает при входящем вызове веб-службы аутентификации.

Это код

$LoginClient = new SoapClient("https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl", array("trace"=>1)); 
        $ServicesLink = new SoapClient("https://freeway.demo.lionbridge.com/vojo/Service.asmx?wsdl", array("trace"=>1));


          try{

          $arrResponse = $LoginClient->Logon(array ('Username'=>'username','Password'=>'password'));
          $ticket = ($arrResponse->LogonResult);
          $getSrcLang = $ServicesLink->GetSourceLanguages(array('Ticket'=>$ticket));
          $getDraftProjectIds = $ServicesLink->GetProjectSummariesList(array('Ticket'=>$ticket,'NumberOfProjects'=>100,'SortOrder'=>MostRecent,'ProjectStatusCode'=>'Draft'));

                        $array = array();
                        $arrayT = array();
                        $forTarLang = array();
                        $listOfProjects = array();

                        foreach($getSrcLang->GetSourceLanguagesResult->Languages->Language as $language)                
                        {                                       
                          $array[$language->ID] = $language->Description."_".$language->ID;                                 
                            $forTarLang[] = $language->ID;
                        }


                        foreach($getDraftProjectIds->GetProjectSummariesListResult->ProjectSummaries->ProjectSummary as $projectSummary)
                        {
                          $listOfProjects[$projectSummary->ID] = $projectSummary-> ID;
                        }

                                    $tarLang = array();                     

          }
              catch (SoapFault $exception){
              return $exception;
              }

                      try{

                      if (count($forTarLang)!=0){
                            $getTarLang = $ServicesLink->GetTargetLanguages(array('Ticket'=>$ticket,'SourceLanguageID'=>$forTarLang[0]));

                            foreach($getTarLang->GetTargetLanguagesResult->Languages->Language as $languageT)   
                                {                   
                                $arrayT[$languageT->ID] = $languageT->Description;                                                                  
                                }                               
                        }
                     } 
                      catch (SoapFault $exception1){
                       return $exception1;
                      }

Хотелось бы узнать, есть ли у кого-нибудь какие-либо советы по поводу того же.К сожалению, я пытаюсь найти решение, которое у меня было.Любая помощь будет неоценима.

1 Ответ

1 голос
/ 15 декабря 2011

Решением является добавление php_openssl.dll в папку ext.

...