@anastaciabochkareva

Как интегрировать Java в 1C?

Моя задача сделать интеграцию с 1с. Мне дали wsdl файл, классы сгенерированы. Но как подключиться к 1с - нет информации. Использовать нужно DMService. В документации есть только код на 1с
МестоположениеWSDL = АдресПубликацииВебСервиса + "ws/dm.1cws?wsdl";

Определение = Новый WSОпределения(
	МестоположениеWSDL, 
	ИмяПользователя,
	Пароль);

Прокси = Новый WSПрокси(
	Определение,
	"http://www.1c.ru/dm",
	"DMService",
	"DMServiceSoap");
	
Прокси.Пользователь = ИмяПользователя;
Прокси.Пароль = Пароль;

ЗапросТип = Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm", "DMGetCurrentUserRequest");
Запрос = Прокси.ФабрикаXDTO.Создать(ЗапросТип);
	
Пользователь = Прокси.execute(Запрос);


Как с клиента на Java обратится к серверу 1С?
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
Если у вас wsdl, вам нужно гуглить “java soap client”
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dementor
программист, архитектор, аналитик
Оу, мой любимый Документооборот )))

Вам Dmitry Roo уже все правильно сказал - интеграция с 1С:Документооборотом выполняется по протоколу "SOAP 1.2" и вам нужен "soap client", на вход которого подаете wsdl-ссылку (версия WSDL 1.1), в которой описаны все доступные вам классы и методы на стороне ДО.

Но подключить к вашему проекту библиотеку с имплементацией SOAP - это только полдела. Чтобы получить рабочий результат, нужно изучить методологию конфигурации 1С:Документооборотом и настройки конкретной базы (виды документов, настройки прав доступа, обработчики бизнес-событий, настроенные шаблоны процессов и т.д.).

Тут все не просто и многие вещи сделаны совсем не так как в 1С:Бухгалтерии и новички теряются (документы тут не документы, а справочники). Так же я видел много кода, где через боль и мучения люди получают требуемый им результат, но при этом они дергают десятки вызовов и держат в памяти множество ненужных XDTO объектов, в то время как нужно было просто обратится в другую функцию, задать нужные параметры и получить все данные в одном единственном вызове.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы