|
Вэб сервисы нет файла *.1cws | ☑ | ||
---|---|---|---|---|
0
Nikulin
07.06.12
✎
13:52
|
Задолбался.
Вроде все правильно делаю. Но во всех описаниях что я нашол при публикации сервиса должен создаваться соответствующий файл с расширением .1cws Создается только default.vrd У меня подозрение что читаю описание примеров для 8.1 Но как следствие не получается дальше следовать по примерам. добился даже того, что в 1с видно что сервис стартавал запустился и закрылся. С публикацие приложения вобще проблем нет. А вот сервис ни как не запущу ни один. Будут подсказки мне в помощь? или может ссылки на примеры? |
|||
1
pumbaEO
07.06.12
✎
13:55
|
А "флажок"|"птичку"|"галочку" ставил "Публиковать веб сервисы"
|
|||
2
Nikulin
07.06.12
✎
15:12
|
(1) конечно. без нее бы не появился файл vrd
|
|||
3
Nikulin
07.06.12
✎
15:31
|
нид хелп.
это все таки правильно что у меня не создается файл <название сервиса из упп>.1cws а создается только default.vrd ?! |
|||
4
Nikulin
07.06.12
✎
15:49
|
или как пример, кинте ктонть содержимое своего файла 1cws любого. только обязательно от 8.2
|
|||
5
Nikulin
07.06.12
✎
15:59
|
up&go
|
|||
6
Nikulin
07.06.12
✎
16:14
|
Обидно то, что не понятно куда копать. настройки 1с / апачи / или еще что...
|
|||
7
LamerSuper
07.06.12
✎
16:24
|
а каким путем обращаешься к сервису?
|
|||
8
LamerSuper
07.06.12
✎
16:26
|
файла и не должно быть
|
|||
9
Nikulin
07.06.12
✎
16:27
|
Да уже каким только не обращался.
иногда видно в журнале в 1с что прошло обращение (параметры пользователь / пароль я дописал в этом VRD, сервис отрабатывает и без ошибки завершается. но ни разу я не видил чтоб в браузер вернулось описание веб сервиса как говорят в описаниях а возникает только ошибка: Веб-узел не может отобразить страницу Эта ошибка (HTTP 500 Internal Server Error) означает, что на веб-узле произошла внутренняя ошибка, которая не позволяет отобразить веб-страницу. |
|||
10
LamerSuper
07.06.12
✎
16:29
|
Публикуя сервис запусти на нем 1с под админскими правами
|
|||
11
Nikulin
07.06.12
✎
16:29
|
вот например:
http://localhost/ws/ostatok_tovara?wsdl срабатывает. но в браузер возвращает ошибку. содержание default.vrd : <?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/MyApp" ib="File="C:\NiMax\Work\WEB\MyApp";" enable="false"> <ws> <point name="ОстатокТовара" alias="ostatok_tovara.1cws"/> <point name="ЗдоровенькиБулы" alias="ws1.1cws"/> </ws> </point> |
|||
12
LamerSuper
07.06.12
✎
16:32
|
IIS запускается с какими правами? на папку 1с возможно надо поставить
|
|||
13
Nikulin
07.06.12
✎
16:32
|
(10) всмысле 1с запустить из под администратора?
Если я на компе админ не хватит? Еще нюанс - у меня виндовс 7 стоит. |
|||
14
Nikulin
07.06.12
✎
16:32
|
(12) я на связке Апач + пхп
|
|||
15
LamerSuper
07.06.12
✎
16:33
|
тогда я пас
|
|||
16
Nikulin
07.06.12
✎
16:34
|
(15) ну т.е. точно что не должно быть файла - в моем случае: ostatok_tovara.1cws
а достаточно только default.vrd ? |
|||
17
LamerSuper
07.06.12
✎
16:36
|
это точно
|
|||
18
Nikulin
07.06.12
✎
16:38
|
(17) Спасибо! Тогда это хотябы -1 проблема.
Значит надо рыть в сторону веб сервера который не может понять ответ от 1с. или еще щас попробую другой браузер. сейчас IE9 |
|||
19
Nikulin
07.06.12
✎
16:41
|
Во как!
Опера дала более внятный ответ: Сервис не найден. An error occurred processing this request. |
|||
20
Nikulin
07.06.12
✎
16:42
|
однако обращение к 1с было.
Аутоидентификация Начало сеанса Завершение сеанса |
|||
21
Nikulin
07.06.12
✎
16:49
|
В 1с в сервисе указано URI пространство имен: http://localhost
и и мя файла публикации: ostatok_tovara.1cws |
|||
22
LamerSuper
07.06.12
✎
16:49
|
ib="Srvr="ИМЯСЕРВЕРА";Ref="ИМЯБАЗЫ";Usr="ИМЯПОЛЬЗОВАТЕЛЯ";Pwd="ПАРОЛЬПОЛЬЗОВАТЕЛЯ";">
|
|||
23
LamerSuper
07.06.12
✎
16:50
|
в твоем случае база файловая
|
|||
24
LamerSuper
07.06.12
✎
16:51
|
ну и права у Апача на папку 1с надо наверно дать
|
|||
25
Nikulin
07.06.12
✎
16:54
|
(22) да:
ib="File="C:\NiMax\Work\WEB\MyApp";Usr="admin";Pwd="123";" (23) да (24) прописаны вроде бы Alias /ws C:/www/ws <Location /ws> DirectorySlash Off SetHandler 1cws-process Allow from all ManagedApplicationDescriptor c:/www/ws/default.vrd </Location> это алиас. или еще акто на папку надо прописать права? |
|||
26
LamerSuper
07.06.12
✎
16:55
|
в виндах учетке от которой стартует апач дать права на папку 1с
|
|||
27
Nikulin
07.06.12
✎
16:59
|
(26) Апач 2.2 работает как сервис.
httpd.exe - пользователь "система" |
|||
28
LamerSuper
07.06.12
✎
17:01
|
как локальный сервис или как сетевой?
|
|||
29
Nikulin
07.06.12
✎
17:06
|
В службах в колонке гуппа стоит "N/D"
|
|||
30
Nikulin
07.06.12
✎
17:07
|
Во. чтото сделал..
Опера изменила свое мнение об ссылке: 1C:Enterprise 8 application error: HTTP: Not found Ошибка при работе с ресурсом /ws/ostatok_tovara |
|||
31
Nikulin
07.06.12
✎
17:35
|
Вот что пишет апача в логах
[Thu Jun 07 17:33:57 2012] [error] [client 127.0.0.1] File does not exist: C:/www/favicon.ico, referer: http://localhost/ws/ostatok_tovara.1cws?wsdl |
|||
32
Nikulin
07.06.12
✎
18:18
|
Не пойму.
После какихто манипуляций веб сервер перестал видить мою папку C:/www/ws т.е. если чтото помещаю туда - пишет что нет файла по ссылке через локалхост |
|||
33
Nikulin
07.06.12
✎
18:18
|
Все сломал (
|
|||
34
Nikulin
08.06.12
✎
11:38
|
апну чтоли.
Уже хочется все снести и заново настроить. |
|||
35
Nikulin
19.06.12
✎
17:30
|
ААААА!!!
Зоспода и дамы! Кинте в меня пожалуйста рабочим httpd.conf Периодически появляется время олблюсь и все бестолку. Конструкция: Alias /ws C:/www/ws <Location /ws> DirectorySlash Off SetHandler 1cws-process Allow from all </Location> Приводит к тому что все файлы в этой папке сервер не видт. и к томуже не возвращает описание сервиса по ссылке http://localhost/ws/ostatok_tovara.1cws?wsdl а пишет опятьже что файл не найден! |
|||
36
Nikulin
19.06.12
✎
17:31
|
1C:Enterprise 8 application error:
HTTP: Not found Ошибка при работе с ресурсом /ws/ostatok_tovara.1cws |
|||
37
Nikulin
19.06.12
✎
17:44
|
help up plzzz
|
|||
38
Nikulin
19.06.12
✎
18:05
|
Чтото сделал.
теперь вижу что сервис коннектится но браузер пишет Сервис не найден. An error occurred processing this request. Что бы это значило.. |
|||
39
DitriX
19.06.12
✎
20:27
|
В чем у тебя лажа? накой ты вообще лезишь во все эти файлы? зачем тебе 1cws файл? его вообще можно не создавать, он нужен если ты хочешь реализовать сквозную авторизацию к примеру, или порты меняешь.
|
|||
40
oleg_prg
19.06.12
✎
21:01
|
Давайте по порядку.
1 Файла быть не должно, т.к. у вас 1С8.2 2 Дабы не ломать голову чего вы там наворотили делаем следующее: - Ставьте апач в c:\WEB\ - Заменяйте содержимое c:\WEB\conf\httpd.conf вот этим # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See <URL:http://httpd.apache.org/docs/2.2> for detailed information. # In particular, see # <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They're here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server's control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so "logs/foo.log" # with ServerRoot set to "C:/WEB" will be interpreted by the # server as "C:/WEB/logs/foo.log". # # NOTE: Where filenames are specified, you must use forward slashes # instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). # If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply # an explicit drive letter in absolute paths to avoid confusion. # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to point the LockFile directive # at a local disk. If you wish to share the same ServerRoot for multiple # httpd daemons, you will need to change at least LockFile and PidFile. # ServerRoot "C:/WEB" # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 8080 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule authn_alias_module modules/mod_authn_alias.so #LoadModule authn_anon_module modules/mod_authn_anon.so #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so #LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so #LoadModule cache_module modules/mod_cache.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule charset_lite_module modules/mod_charset_lite.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module modules/mod_dbd.so #LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so #LoadModule disk_cache_module modules/mod_disk_cache.so #LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule file_cache_module modules/mod_file_cache.so #LoadModule filter_module modules/mod_filter.so #LoadModule headers_module modules/mod_headers.so #LoadModule ident_module modules/mod_ident.so #LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so #LoadModule ldap_module modules/mod_ldap.so #LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so #LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule mem_cache_module modules/mod_mem_cache.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule _1cws_module "C:/Program Files (x86)/1cv82/8.2.15.310/bin/wsap22.dll" #LoadModule speling_module modules/mod_speling.so #LoadModule ssl_module modules/mod_ssl.so #LoadModule status_module modules/mod_status.so #LoadModule substitute_module modules/mod_substitute.so #LoadModule unique_id_module modules/mod_unique_id.so #LoadModule userdir_module modules/mod_userdir.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User daemon Group daemon </IfModule> </IfModule> # 'Main' server configuration # # The directives in this section set up the values used by the 'main' # server, which responds to any requests that aren't handled by a # <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file. # # All of these directives may appear inside <VirtualHost> containers, # in which case these default settings will be overridden for the # virtual host being defined. # # # ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. [email protected] # ServerAdmin [email protected] # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn't have a registered DNS name, enter its IP address here. # #ServerName 192.168.1.101:8080 # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/WEB/htdocs" # # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something's not working as # you might expect, make sure that you have specifically enabled it # below. # # # This should be changed to whatever you set DocumentRoot to. # <Directory "C:/WEB/htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html </IfModule> # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. # ErrorLog "logs/error.log" # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn <IfModule log_config_module> # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a <VirtualHost> # container, they will be logged here. Contrariwise, if you *do* # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # CustomLog "logs/access.log" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # #CustomLog "logs/access.log" combined </IfModule> <IfModule alias_module> # # Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://localhost/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a <Directory> section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # ScriptAlias /cgi-bin/ "C:/WEB/cgi-bin/" </IfModule> <IfModule cgid_module> # # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # #Scriptsock logs/cgisock </IfModule> # # "C:/WEB/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "C:/WEB/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> # 1c publication Alias "/WEB-Services" "C:/WEB/htdocs/WebServ/" <Directory "C:/WEB/htdocs/WebServ/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "C:/WEB/htdocs/WebServ/default.vrd" </Directory> # 1c publication Alias "/test" "C:/WEB/htdocs/test/" <Directory "C:/WEB/htdocs/test/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "C:/WEB/htdocs/test/default.vrd" </Directory> DefaultType text/plain <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz </IfModule> <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> 3 В конфигураторе 1С8.2 Сделайте публикацию Администрирование - публикация на WEB сервере поставьте все галки В моем случае имя test Нажмите "Опубликовать" 4 В браузере введите ссылку, у меня ссылка выглядит вот так http://192.168.1.101:8080/test/ws/web2?wsdl где http://192.168.1.101 IP моего компа :8080 - это порт который указан в c:\WEB\conf\httpd.conf параметр Listen test имя публикации ws так надо web2 имя моего web сервиса - так он назван в ветке конфигурации Web-сервисы 5 Должно по ссылке открыться типа этого <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://192.168.1.101:8080" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.sample-package.org" xmlns:xsd2="http://192.168.1.101:8080" name="web2" targetNamespace="http://192.168.1.101:8080"> <types> <xs:schema xmlns:tns="http://www.sample-package.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sample-package.org" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:complexType name="СтрокаТаблицы"> <xs:sequence> <xs:element name="ЭлементМассиваЧисло" type="xs:int"/> <xs:element name="ЭлементМассиваСтрока" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ТаблицаЗначений"> <xs:sequence> <xs:element name="СтрокиТаблицы" type="tns:СтрокаТаблицы" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema> и т.д. |
|||
41
oleg_prg
19.06.12
✎
21:07
|
Для проверки в 1С8.2 в конфигураторе создайте новую ссылку в Общие - WS-ссылки и введите туда http://192.168.1.101:8080/test/ws/web2?wsdl (это моя ссылка, у вас естественно будет другая) После этого 2 раза кликните по новой ссылке WSСсылка1 - если все ок, то увидите в открывшемся диалоге дерево
Web-сервисы Модель данных Web-сервисы |
|||
42
Nikulin
20.06.12
✎
17:22
|
А в какую папку публикуется сервис (прописывается в 1с при публикации). в test?
и можно содержимое default.vrd посмотреть? чтото каша в голове. Чувствую не хватает оригинальной книги по конфигурированию и администрированию от 8.2 из 8.1 вот не получается. + в инете начитался... например кажется что "test имя публикации ws так надо " тут у меня фигня какаято в моем варианте |
|||
43
oleg_prg
20.06.12
✎
17:49
|
Хочешь дам teamViewer - посмотришь как я делал?
|
|||
44
Nikulin
20.06.12
✎
17:56
|
АЛИЛУЯ!!!
Получил описание вебсервиса в браузере! Даже незна что именно было не так.. публиковал по разному уже. в конфигураторе в дереве по русски был прописал. сделал по англ.. чтото еще делал.. |
|||
45
Nikulin
20.06.12
✎
17:58
|
oleg_prg
Спасибо огромное. Твой конфиг с апачи тоже помог! кое что не до понимал. Назначение Alias "/WEB-Services" не совпадало с прописаным в конфигураторе.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |