Ответы пользователя по тегу SOAP
  • Как поменять content-type, который приходит от клиента в SOAP сервисе?

    @Dementor
    программист, архитектор, аналитик
    По сложности:
    1. Попросите клиента присылать хидеры в правильном формате.
    2. Между вашей системой и клиентом поставьте прокси, который будет преобразовывать зоголовки (nginx - отличный выбор)
    3. Напишите автоконфигурацию, которой приравняйте заголовок application/health.message+xml к text/xml
    Ответ написан
    3 комментария
  • Возможна ли реализация в 1с получения и отправки аттачей через soap?

    @Dementor
    программист, архитектор, аналитик
    Успешно делал пересылку файлов с помощью бинарного реквизита в теле soap-конверта.
    Технология SwA скорее всего поддерживаться не будет, так как развитие сейчас пошло больше в сторону HTTP-сервисов, как более привычных и удобных для веб-разработчиков.
    Ответ написан
    Комментировать
  • Почему сервис не доступен для публикации в 1С?

    @Dementor
    программист, архитектор, аналитик
    Верхняя часть экрана обрезана и не понятно сохранена ли измененная конфигурация. Если изменения не применены, то и публикация должна быть недоступной.
    Ответ написан
    1 комментарий
  • Как напечатать с сервера 1С документа через вебсервисы?

    @Dementor
    программист, архитектор, аналитик
    В печати ничего магического нет - все довольно просто.
    Ваша главная проблема в том, что вы сами не знаете чего хотите!

    Если у вас есть какая-то странная идея использовать сервер 1С как сервер печати, то вам стоит сделать новый вебсервис, который на вход получает двоичные данные документа для печати, тип документа (что бы знать чем его распечатать) и вторичные настройки (количество экземпляров, ориентация и пр.). Веб-сервис получает двоичные данные, записывает их во временный файл и натравливает на него какую-то программу печати с указанием параметров печати.

    Очень странное поведение... Не проще ли сделать VPN на сетевой принтер и печатать напрямую?

    Но у меня есть подозрение, что у вас в базе (бухгалтерия или торговля) есть некоторое количество документов (возможно залитых по вебсервису) и вы хотите отправить команду, по которой они пойдут на печать. Это совсем другая постановка задачи. Можно решить следующим образом: передавайте тип документа (можно строковое представление метаданных, а можно что угодно - главное что бы вы сами разобрались), номер документа (желательно с датой, так как обычно нумерация в бухгалтерии начинается с нового года заново, а для некоторых документов счетчик обнуляется каждый месяц) и параметры печати (см. выше). В обработчике веб-сервиса на стороне 1С находите по переданной информации документ и вызываете функцию его печати (в типовых конфигурациях есть режим печати напрямую на принтер по-умолчанию без вывода предпросмотра).
    Ответ написан
    7 комментариев
  • Кто встречался с проблемой медленной работы WS под Апачем в linux версии 1C 8.2?

    @Dementor
    программист, архитектор, аналитик
    Подобных проблем не было (было много других, которые намного хуже — вы даже не подозреваете сколько в линуксовом сервере 1С подводных камней).

    Давайте посмотрим с точки зрения здравого смысла.

    1) В конфигураторе запросы не выполняются — там происходит только конфигурирование и администрирование. Запросы вы выполняли скорее всего в тонком или толстом клиенте, который подключен к серверу. Поскольку вы упомянули конфигуратор, то склоняюсь к выводу, что речь идет именно о толстом клиенте с подключением к серверу в локальной сети по TCP.

    2) Веб-сервисы у вас подняты на Apache и обслуживаются с помощью апачевского модуля, который подобно тонкому/толстому клиенту подключается к серверу 1С по TCP, получает от сервера данные, а далее возвращает ответ клиенту по HTTP(S).

    На поверхности лежит вывод, что в обоих случаях сервер отрабатывает с одинаковой скоростью (если в моменты тестирования нагрузка был идентичной), а вот на обслуживание HTTP(s) запросов/ответов веб-сервером тратятся ваши лишние 50 секунд. Проверяйте в этом направлении — на 70% уверен, что или ваш Apache настроен через ж, или на нем кроме опубликованной 1С крутятся другие нагруженные приложения и время на 1С-вский модуль выделяется по остаточному принципу.

    Еще вариант, что вы не все рассказали. Моя вторая версия, что данные запроса в толстом клиенте вы получаете единой выборкой, а вот веб-сервис вы делаете не на единичный запрос, а на каждый элемент выборки заново устанавливаете ws-соединение. При таком подходе даже на выделенном сервере скорость веб-сервисов в случае больших данных будет в сотни и тысячи раз медленнее чем работа в 1С-вских клиентах.
    Ответ написан