Имя: Пароль:
1C
 
1С 8.1 Web-сервисы и apache 2.0
0 borik
 
23.02.07
20:07
Доброго времени суток всем

Кто нибудь пытался использовать 1С 8.1 совместно с apache 2.0 (имеется в виду публикация web-сервисов). Что-то никак мне не удается подсунуть апачу wsapch2.dll.

Прописываю как указано в мануале в файле httpd.conf:
LoadModule ws_module <1C:Enterprise Root>/bin/wsapch2.dll

а он в ответ:

(OS 995)Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения.  : winnt_accept: Asynchronous AcceptEx failed.

и отказывается стартовать.....
1 fils
 
09.04.07
17:46
(0) победил?
2 fils
 
09.04.07
17:48
Аналогичные проблемы :(. Помогите люди добрые.
3 fils
 
10.04.07
10:48
^
4 ASV
 
04.06.07
03:49
LoadModule _1cws_module "C:/Program Files/1cv81/bin/wsapch2.dll"
5 ASV
 
04.06.07
05:45
Если
Fatal error: Class 'SoapClient' not found in "..."
Тогда
в php.ini добавить extension=php_soap.dll
6 ASV
 
04.06.07
05:48
в продолжении аэрофлота, на php пишем

$client = new  
   SoapClient(  
       "http://webservices.aeroflot.aero/flightstatus.wsdl"  
   );  

print_r($client->DateList());
7 ASV
 
05.06.07
02:02
для подключения 1С к apache 2.2 необходимо в httpd.conf
LoadModule _1cws_module "C:/Program Files/1cv81/bin/wsap22.dll"
8 ASV
 
05.06.07
02:05
далее как описано в C:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm
создаем регистрацию виртуальной директории, только необходимо писать
SetHandler 1cws-process
9 ASV
 
05.06.07
02:09
параметры  
DirectorySlash Off
SetHandler 1cws-process
можно указывать в .htaccess
10 ASV
 
05.06.07
02:16
после публикации products.1cws в каталог виртуальной директории, в http://www.localhost/ws/products.1cws должна быть ссылка на http://www.localhost/ws/rr.1cws?wsdl, а не xml содержимое файла products.1cws
11 ASV
 
06.06.07
09:41
на php5 подключаемся к сервису из Веб-Примеры
файл должен быть в кодировке utf8

$client = new  
   SoapClient(  
       "http://www.localhost/ws/products.1cws?wsdl"  
   );  
print_r($client->__getFunctions()); //Выводим список доступных функций

$group = $client->Получить();
print '<br/>';
print $group;
print '<br/>';
// до этого работает

print ($group->Наименование);
//Наименование не работает !!
12 ASV
 
06.06.07
13:16
есть.

$client = new  SoapClient("http://www.1cweb.ru/test/products.1cws?wsdl");  
$r = $client->Получить()->return;
print '<br/>';
print($r->Наименование);  //корень
//print_r($r->Группы);
print '<br/>';
$group = $r->Группы;
foreach ($group as &$value) {

   print $value->Наименование.'<br/>';
   if (property_exists($value, 'Элементы')){ //если папка не пустая
       $tovars = $value -> Элементы;
       if (is_array($tovars)) {    //если в папке не один элемент
           foreach ($tovars as &$tovar) {
               print $tovar->Наименование.'<br/>';

           }
       }else{
           print $tovars->Наименование.'<br/>';

       }
   }

}
13 ASV
 
07.06.07
11:46
+12 все совпадаения с 1cweb.ru являются случайными
14 Crazymind
 
14.01.08
17:28
у меня слудующая проблема - если в 1с пользователя нет, то все прекрасно, но как только пользоветель появился- все, немогу получить результат. :(

код до появления пользователя:
<?php
   $client = new SoapClient("http://localhost/ws/loc.1cws?wsdl");
   $res = $client->xz1()->return;
   $object = $res->sss;

   foreach ($object as &$value) {
       print($value);
       echo"<br>";
   }

?>

на сколько я понимаю для того, чтобы авторизироватьс яна 1с нужно изменить 1 строчку:
$client = new SoapClient("http://localhost/ws/loc.1cws?wsdl", array('login' => "user", 'password' => "pass",'trace' => 1, 'exceptions' => 0));

но ничего не получается - ошибка :
Notice: Undefined property: SoapFault::$return in D:\server\Apache2\htdocs\index.php on line 3

если написать
   $client = new SoapClient("http://localhost/ws/loc.1cws?wsdl", array('login' => "user", 'password' => "pass"));

то возникает ошибка
Fatal error: Uncaught SoapFault exception: [soap:Client] Нарушение прав доступа к операции Web-сервиса: {http://localhost/ws/loc.1cws?wsdl}:WebСервис1:xz1() in D:\server\Apache2\htdocs\index.php:5 Stack trace: #0 [internal function]: SoapClient->__call('xz1', Array) #1 D:\server\Apache2\htdocs\index.php(5): SoapClient->xz1() #2 {main} thrown in D:\server\Apache2\htdocs\index.php on line 3.


И во втром и в третъем случае фыполение функции на сервере не происходит.

если кто нибуть может, помогите пожалуйста!
15 xaka
 
12.09.08
10:20
Является ли обязательным наличие установленного 1С для возможности использовать модуль под Apache2? Дело в том, что есть отдельный сервер Win2K + Apache2.0/2.2. На этот сервер я скопировал dll файлы для каждой из версий Apache2 и при попытке запуска появляется ошибка "Не найден указанный модуль" (прошу _заметить_, что пути указаны верно, при точно такой же конфигурации с _установленным_ 1С проблем не возникает).
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.