ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

Нет такой больше страницы

Он не умер, просто формат поменял и стал платным )))

А когда он стал платным ?

Боюсь даже представить в скольких договорах сейчас неправильное склонение.

Сфигали он умер? Работает. Только WSDL у него оторвали

ну наверно в трех договорах.

Типовой механизм 1С ники получается не поменяли ? Как можно исправить данную проблему? Кто нибудь использует веб-сервис ?

Я думаю, что исправят в обновлениях. А так просто через HTTPСоединение можно дёргать.

Привет! Столкнулся с проблемой.


Задача: организовать обмен через веб сервис exchange или exchange_2_0_1_1_6, как получится, между базой ерп и базой БП КОРП.

Завел новый план обмена, настроил регистрацию итд.


В общий модуль ОбменДаннымиПереопределяемый в процедуру ПолучитьПланыОбмена добавил строку ПланыОбменаПодсистемы. Добавить(Метаданные. ПланыОбмена.мм_ОбменБУХ); чтоб мой план обмена виднелся при настройке обмена. Это сработало! Его видно. Но в обработке по настройке соединения никак не получается настроить соединение.

Что пишу: Выбираю «настройки вручную», «прямое подключение через интернет»


Адрес программы:

http://scorp1100/uatTest/WS/Exchange.1cws?wsdl

  {ОбщийМодуль. ОбщегоНазначения. Модуль(5469)}: Ошибка при вызове конструктора (WSОпределения)
	Определения = Новый WSОпределения(ОписаниеФайла. Путь, ИмяПользователя, Пароль, ИнтернетПрокси, Таймаут);
по причине:
WSDL должен содержать элемент definitions
по причине:
Неверный формат.    

Причем, если открыть

http://scorp1100/uatTest/WS/exchange.1cws?wsdl

в браузере дефенишинс там есть, подскажите чего не хватает, что я делаю не так.

Помогите, пожалуйста, разобраться в подключении к веб-сервису.

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

https://piservice.severstal.com:7000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1C_NEFZ&receiverParty=&receive
­rService=&interface=si_DataLoad_outb_sync&interfaceNamespace
­=http://severstal.com/pi/O2C/1C

Из браузера ссылка открывается, но при добавлении в WSСсылки в конфигураторе выдает ошибку:


WSDL должен содержать элемент definitions


по причине:


Неверный формат.

С этой же ссылкой пытаюсь подключиться в коде:

  Определение = Новый WSОпределения("https://piservice.severstal.com:7000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1C_NEFZ&receiverParty=&receive       
­rService=&interface=si_DataLoad_outb_sync&interfaceNamespace       
­=http://severstal.com/pi/O2C/1C?wsdl", Пользователь, Пароль,,, Новый ЗащищенноеСоединениеOpenSSL());
  

https://piservice.severstal.com:7000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1C_NEFZ&receiverParty=&receive
­rService=&interface=si_DataLoad_outb_sync&interfaceNamespace
­=http://severstal.com/pi/O2C/1C?wsdl

Код ответа сервера: 403

https://piservice.severstal.com:7000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1C_NEFZ&receiverParty=&receive
­rService=&interface=si_DataLoad_outb_sync&interfaceNamespace
­=http://severstal.com/pi/O2C/1C/BC_SYS_CLNT_si_DataLoad_outb_syncService?wsdl

Код ответа сервера: 403

https://piservice.severstal.com:7000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1C_NEFZ&receiverParty=&receive
­rService=&interface=si_DataLoad_outb_sync&interfaceNamespace
­=http://severstal.com/pi/O2C/1C/BC_SYS_CLNT_si_DataLoad_outb_syncService.1cws?wsdl

Код ответа сервера: 403

Или всетаки нет доступа?

ВебСервис. Есть адрес, по которому он должен обратиться. Где место этого адреса?

↓ (aka AMIGO 15.06.2017 11:14)

0


aka AMIGO

Конструкция адреса примерно такая: http://АдресВебСервиса/ИмяБазыДанных/ws/
НазваниеВебСервиса


Это — не WS-Ссылка, ибо при попытке засунуть этот адрес в строку ввода новой WS-ссылки, сообщает: _WSDL должен содержать элемент definitions_

Пока мои знания в вебсервисах ограничиваются начальными «как», но вот «почему» — пока недоступно


ЗЫ. может быть есть какое-то петушиное слово, поняв которое, я пойму и концепт вебсервиса?

Вопрос: как таки использовать имеющийся адрес?

1


FIXXXL

если сунуть ссылку в браузер, что пишет?

2


aka AMIGO

В Хроме — выводит страницу в формате xml

3


FIXXXL


уже хорошо 🙂


что там в этом xml? знакомые названия команд своего вебсервиса видишь?

4


aka AMIGO

ну да, встретил несколько слов знакомых, но команды-ли это — увы, не знаю.

5


aka AMIGO

+4 молчит для меня веб-сервис. Вроде-б что-то знакомо, но упирается в моё «почему так?» -и это без ответов


ЗЫ. кто-б ткнул меня носом в нужное. 🙂

6


FIXXXL

это веб-сервис на 1С? или сторонний и ты к нему из 1С подключаешься?

8


aka AMIGO

я должен подключиться к нему из своей 1с, а вот эта часть xml-страницы в хроме — мне до кома в горле знакома:


<types>


<xs:schema xmlns:xs=» http://www.w32.org/2001/XMLSchema&quot
; xmlns:xs1=» http://www.corp.imjaBD.ru/onec&quot
; targetNamespace=» http://www.corp.imjaBD.ru/onec&quot
; attributeFormDefault=»unqualified» elementFormDefault=»qualified»>

<xs:complexType name=»Elements»>


<xs:sequence>


<xs:element name=»Name» type=»xs:string»/>


<xs:element name=»Description» type=»xs:string»/>


<xs:element name=»Code» type=»xs:string»/>


<xs:element name=»GUID» type=»xs:string»/>

Именно это я и должен получить: БД-источник, к которой я обращаюсь, должна вернуть мне файл xml

9


aka AMIGO

+8 и — да! это сторонний веб-сервис, на 1с

10


FIXXXL

ты наверно гуглил, но все же


v8: Помощь с Web сервисом


не любой вебсервис 1Ска способна проживать


с такими тонкостями не сталкивался, сорри 🙁

11


FIXXXL

12


aka AMIGO

Спасибо, любая помощь мне в строку.

2.

ixijixi

Сейчас в теме

Обратиться к поставщику?

3.

dadel

Сейчас в теме

( 2
)Ну скажем так, уже после Вашего ответа таки прислали схему. Но как её в WS-ссылку загрузить?


Видел писали из файла можно. Но не дает.


WSDL должен содержать элемент definitions


Такую ошибку пишет

4.

dadel

Сейчас в теме

5.

dadel

Сейчас в теме

Так, вот надо было спустя пару дней боёв написать вопрос и таки добил поставщика вебсервиса дать в файле схему WSDL.


Несколько разных присылали и то, что я сам через СоапУИ себе выгружал. Всё не то сначала было. Потом таки прислали файл wsdl и папку с описанием типов.


Получилось в фале заменить дату на строку, после обеда вернусь — буду тестить.


Пока вопрос снят!)

6.

uno-c

Сейчас в теме

7.

uno-c

Сейчас в теме

9.

dadel

Сейчас в теме

( 7
)Там далеко не всё открывается по ссылке.


Сама схема очень большая, 21 процедура с описанием структуры различных документов.


По ссылке на WSDL открывается только описание самих методов без описаний типов. Там дальше копать надо ещё.


В приложенном скрине видно, что помимо файла с WSDL есть ещё папка XSD и на скрине на первом плане содержание этой папки, там два файлика. Вот для создания WS-ссылки нужно всё это получить в таком вот виде. Только получив архивчик с этой схемой уже понял как достать по ссылкам недостающие части с описанием Свойств и Типов. В Вашем случае схема простая, у меня обмен с ЭТП и сложная схема.


По основной ссылке в первых строках вижу ссылку на продолжение схемы: schemaLocation=»xsd/Procurement.xsd»/>


И там же файлик ещё с типами лежит. Вот в первом вижу путь к второму: <xsd:import namespace=»http://etpgpb.ru/223fz/types/1″


schemaLocation=»DataTypes.xsd» />


В итоге в этом вот я изменил нужные мне типы дат на строку и всё у меня взлетело!


Может кому пригодится данное описание сберечь время.

ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

8.

uno-c

Сейчас в теме

Мобильный клиент ведет себя еще более странно и отловить реальную ошибку очень тяжело, особенно когда переделывает чужие формы под мобильный клиент.

ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

Причина была в отсутствии атрибута targetNamespace у тега , соответственно 1С не знала, в какой пакет помещать схему, но ошибок не выдавала. 1C Веб Сервис Ошибка При Вызове Метода Контекста Обращайтесь в форму связи

Обмен данными обычно организовывается с помощью выгрузки файла из одной программы и загрузки в другую. Некоторые программисты предоставляют сторонним программам доступ в SQL базу 1С (что вроде как сильно не рекомендуется).

Термин «обмен данными» не всегда подходит к задаче, иногда более корректно сказать – предоставление данных. Например, внешней программе требуется идентифицировать – существует ли такой клиент в 1С и его баланс.

Предоставление доступа к данным 1С – некорректно по причинам безопасности данных. Необходим скорее механизм проверки по имени и паролю с дальнейшим возвратом баланса.

Этот подход называют – сервисным, когда программа предоставляет не данные, а сервис, который позволяет идентифицировать клиента и узнать его баланс.

SOA – «сервис ориентированная архитектура» – означает, что программы для обмена данными друг с другом используют «сервисы».

Веб сервис – это набор функций (процедур), которые могут быть вызваны извне программы и базы данных.

Для того, чтобы другая программа знала, что такой «сервис» есть у этой программы, первая на веб сайте выкладывает сведения о своих сервисах. Формат такого описания – файл WSDL.

Функции извне вызываются (запускаются) запросом по протоколу SOAP.

Для передачи параметров и результатов используется XML. Для работы с веб-сервисами Вы должны иметь базовое понимание про XML и XDTO.

Web сервис 1С это способ, с помощью которого можно разрешить запускать некоторые функции 1С снаружи базы 1С, в том числе из других программ или других баз 1С.

Это лучше, чем предоставление прямого доступа к данным 1С, так как при вызове метода (функции) web сервиса 1С, доступ к данным внешняя программа не имеет. Функция на языке 1С самостоятельно определяет право внешней программы получить конкретную толику данных по переданным параметрам (например, имени и паролю).

Web сервис 1С это объект 1С, который находится в конфигурации, в ветке Общие/Web-сервисы.

Так как функционирует web сервис 1С с помощью XML пространство имен и пакет XDTO. X DTO пакеты 1С мы обсуждали ранее.

Во многих случаях, можно не создавать свой пакет XDTO, а использовать по умолчанию – выбрав из списка пакет www.sample-package.org

После этого нужно добавить список функций (методов веб сервиса 1С) – которые будут предоставляться наружу. Называть их лучше англоязычно. Функция может иметь параметры.

Для каждой добавленной функции веб сервиса 1С, в свойствах нужно создать обработчик, так же, как мы это делали в командах 1С, подписках на событиях 1С и так далее.

Именно эта функция 1С будет выполняться при вызове метода веб сервиса 1С. Не забывайте, что выполняться она будет на сервере 1С. Файловый режим работы 1С с веб-сервисами не рекомендуется.

Функция обычно возвращает какие-либо данные. Обычно указывают тип string и возвращают строку XML.

Строку XML можно сформировать с помощью объектов языка 1С для работы с XML – ДокументDOM и ФабрикаXDTO, а можно просто составить текстовую строку, в которой хранится текст XML.

Ошибка модуля в 1С: причины и способы исправления

  • Иметь веб сайт
  • В свойствах web сервиса 1С указать имя файла с расширением 1cws, который является ссылкой на WSDL описание
  • Выложить этот файл на веб сайт в конфигураторе с помощью пункта меню Администрирование/Публикация на веб-сервере.

Для того, чтобы выполнить публикацию Web -сервисов, следует выполнить команду меню Администрирование Публикация Web-сервисов.

ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

Выделить отдельный сертификат ЭЦП, который не подписывает ЭД, для проведения сеансов связи с Такском в клиент-серверном варианте. При создании описания сервиса произошла ошибка: новый wsопределения 1С Обращайтесь в форму связи

1C Веб Сервис Ошибка При Вызове Метода Контекста

Рассмотрим основные ошибки, которые могут возникать при проведении различных документов в программе 1С-Рарус: Ломбард 4.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

1. Ошибка при вызове метода контекста (Записать): Запись не верна! Не заполнен счет дебета

Данное сообщение может возникать при проведении кассовых документов на закладке «Документы»:

Сообщение возникает в том случае, если в регистре сведений «Счета учета расчетов с контрагентами» не заполнен счет расчетов с покупателем (пункт меню «Справочники – Контрагенты – Счета расчетов с контрагентами»):

Счета учета расчетов можно указать для определенной организации, контрагента или группы контрагентов, для отдельного договора или вида расчетов. Для этого необходимо создать соответствующее число записей в регистре сведений:

Можно разделить счета учета расчетов с контрагентами по типу контрагентов, например, для залогодателей и прочих контрагентов. Для этого необходимо заполнить поле «Контрагент» (при этом можно указать как конкретное юридическое или физическое лицо, так и группу контрагентов):

2. Поле «Счета учета расчетов за хранение»/«Счет учета расчетов за кредит»/«Счет учета расчетов за просрочку» не заполнено

Сообщения могут возникать при проведении документа «Начисление процентов»:

При возникновении подобных сообщений можно указать необходимые счета непосредственно в каждом документе «Начисление процентов» на закладке «Счета учета расчетов».

Для того, чтобы счета учета расчетов за каждый вид процентов заполнялись автоматически, в Учетной политике по Ломбарду (меню «Главное – Настройки по Ломбарду – Учетная политика») на закладке «Регламентированный учет – Счета учета расчетов») необходимо заполнить счета учета расчетов:

Сообщение может возникать при проведении документа «Начисление процентов»:

Данное сообщение говорит о том, что в документе «Начисление процентов» на закладке «Счета учета расчетов» не заполнены значения Счетов доходов от кредита, хранения и просрочки. Их можно заполнить непосредственно при проведении документа.

Для того, чтобы указанные счета заполнялись автоматически, необходимо заполнить соответствующие данные в специальном разделе «Счета расчетов по залоговому билету» (меню «Ломбард – См.также – Счета расчетов по залоговому билету»):

Счета учета доходов при необходимости можно разделить по организациям и контрагентам/группам контрагентов.

Сообщение может возникать при проведении документа «Операция по залогу»:

Данное сообщение возникает тогда, когда в настройках Схемы кредитования выбран вариант момента получения процентов «Взимать сразу», а на закладке «Счета учета» не заполнены данные о счетах учета доходов и расчетов по каждому виду начислений:

Для автоматического заполнения данных счетов необходимо настроить счета учета расчетов в Учетной политике по ломбарду и счета расчетов по залоговому билету, описанные в п. 2 и 3.

Web сервисы 1С

Для того, чтобы выполнить публикацию Web -сервисов, следует выполнить команду меню Администрирование Публикация Web-сервисов.

ВЕБСЕРВИС ЕСТЬ АДРЕС ПО КОТОРОМУ ОН ДОЛЖЕН ОБРАТИТЬСЯ

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

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

Пример использования динамической WS-ссылки

// Создать WS-прокси на основании WS-определения

Определение = Новый WSОпределения (“http://www. MyCompany.ru/shipment/ws/Shipment.1cws?wsdl”);

Прокси = Новый WSПрокси ( Определение , “http://www. MyCompany.ru/shipment”, “ДанныеРасходнойНакладной”, “ДанныеРасходнойНакладнойSoap”);

В то время как создание WS-прокси на основе статической ссылки выглядит следующим образом:

Помимо общих свойств объектов конфигурации операция Web-сервиса содержит следующие свойства:

1С-Рарус: Ломбард – основные ошибки при проведении документов в программе и как с ними работать

Пример использования динамической WS-ссылки

// Создать WS-прокси на основании WS-определения

Определение = Новый WSОпределения (“http://www. MyCompany.ru/shipment/ws/Shipment.1cws?wsdl”);

Прокси = Новый WSПрокси ( Определение , “http://www. MyCompany.ru/shipment”, “ДанныеРасходнойНакладной”, “ДанныеРасходнойНакладнойSoap”);

В то время как создание WS-прокси на основе статической ссылки выглядит следующим образом:

Помимо общих свойств объектов конфигурации операция Web-сервиса содержит следующие свойства:

💥Принимайте участие в опросе и получайте бесплатную консультацию

I’m programming a SOAP client for an existing soap web service.

I’m using Wildfly8.2 as a server where the client is and JbossWS, JAX-WS

I generated the classes needed to call the service via eclispe with the NEW-> Web service client wizzard

The actual problematic service call is the call to «addService» method of the web service.

This is the code that I use to call the service:

   SOAP service1 = new SOAP();
WorkflowEditor workflowEditor = service1.getSOAPPort();

AddService parameters = new AddService();
parameters.setLogicalURI(logicalUri);
parameters.setServiceDescription(serviceDescription);
parameters.setServiceType(servicetype.getName());
Specialties specialities = new Specialties();
specialities.getSpecialty().add("aaaa");
parameters.setSpecialties(specialities);
parameters.setWsdlLocation(wsdlLocation);
parameters.setWsdlServiceName(wsdlServiceName);
parameters.setSessionToken(currentUser.getKeystoneSessionToken());
workflowEditor.addService(parameters);
  
  

the generated java class for the parameters in the soap call:

   package si.arctur.services.workflowEditor;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {

})
@XmlRootElement(name = "addService")
public class AddService {

    @XmlElement(required = true)
    protected String sessionToken;
    @XmlElement(required = true)
    protected String wsdlLocation;
    @XmlElement(required = true)
    protected String wsdlServiceName;
    @XmlElement(required = true)
    protected String logicalURI;
    @XmlElement(required = true)
    protected String serviceType;
    protected AddService.Specialties specialties;
    @XmlElement(required = true)
    protected String serviceDescription;


    public String getSessionToken() {
        return sessionToken;
    }


    public void setSessionToken(String value) {
        this.sessionToken = value;
    }


    public String getWsdlLocation() {
        return wsdlLocation;
    }


    public void setWsdlLocation(String value) {
        this.wsdlLocation = value;
    }


    public String getWsdlServiceName() {
        return wsdlServiceName;
    }


    public void setWsdlServiceName(String value) {
        this.wsdlServiceName = value;
    }


    public String getLogicalURI() {
        return logicalURI;
    }


    public void setLogicalURI(String value) {
        this.logicalURI = value;
    }


    public String getServiceType() {
        return serviceType;
    }


    public void setServiceType(String value) {
        this.serviceType = value;
    }


    public AddService.Specialties getSpecialties() {
        return specialties;
    }


    public void setSpecialties(AddService.Specialties value) {
        this.specialties = value;
    }

    public String getServiceDescription() {
        return serviceDescription;
    }


    public void setServiceDescription(String value) {
        this.serviceDescription = value;
    }


    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "specialty"
    })
    public static class Specialties {

        @XmlElement(required = true)
        protected List<String> specialty;


        public List<String> getSpecialty() {
            if (specialty == null) {
                specialty = new ArrayList<String>();
            }
            return this.specialty;
        }

    }

}
  
  

This is the wsdl copied from the browser:

   <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="WorkflowEditor" targetNamespace="*****************" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wfe="*****************" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <wsdl:types> <xsd:schema targetNamespace="*****************"> <xsd:element name="addService"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="wsdlLocation" type="xsd:string"/> <xsd:element name="wsdlServiceName" type="xsd:string"/> <xsd:element name="logicalURI" type="xsd:string"/> <xsd:element name="serviceType" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="0" name="specialties"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="1" name="specialty" type="xsd:string"> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="serviceDescription" type="xsd:string"> </xsd:element> <xsd:element name="serviceTitle" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="addServiceResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="removeService"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="serviceURI" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="removeServiceResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="addUserToService"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="serviceURI" type="xsd:string"/> <xsd:element name="username" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="addUserToServiceResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="removeUserFromService"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="serviceURI" type="xsd:string"/> <xsd:element name="username" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="removeUserFromServiceResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="addWorkflow"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="workflowDescription_base64" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="addWorkflowResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="removeWorkflow"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="workflowURI" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="removeWorkflowResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="replaceWorkflow"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="workflowDescription_base64" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="replaceWorkflowResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getWorkflowDescription"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="workflowURI" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="getWorkflowDescriptionResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> <xsd:element name="workflowDescription_base64" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getWorkflows"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="getWorkflowsResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> <xsd:element name="workflows"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="workflow" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServices"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="getServicesResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> <xsd:element name="services"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="service" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServiceIOs"> <xsd:complexType> <xsd:all> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="serviceURI" type="xsd:string"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="getServiceIOsResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> <xsd:element name="serviceIOs"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="serviceIO" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServiceInfo"> <xsd:complexType> <xsd:sequence> <xsd:element name="sessionToken" type="xsd:string"/> <xsd:element name="serviceURI" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServiceInfoResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="description" type="xsd:string"/> <xsd:element name="wsdlLink" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServicesInfo"> <xsd:complexType> <xsd:sequence> <xsd:element name="sessionToken" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getServicesInfoResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="success" type="xsd:boolean"/> <xsd:element name="services"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="service"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="serviceURI" type="xsd:string"> </xsd:element> <xsd:element maxOccurs="1" minOccurs="0" name="serviceDescription" type="xsd:string"> </xsd:element> <xsd:element maxOccurs="1" minOccurs="1" name="serviceWSDL" type="xsd:string"> </xsd:element> <xsd:element maxOccurs="1" minOccurs="1" name="serviceTitle" type="xsd:string"> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="removeWorkflowRequest"> <wsdl:part name="parameters" element="wfe:removeWorkflow"> </wsdl:part> </wsdl:message> <wsdl:message name="addWorkflowRequest"> <wsdl:part name="parameters" element="wfe:addWorkflow"> </wsdl:part> </wsdl:message> <wsdl:message name="removeUserFromServiceRequest"> <wsdl:part name="parameters" element="wfe:removeUserFromService"> </wsdl:part> </wsdl:message> <wsdl:message name="removeServiceRequest"> <wsdl:part name="parameters" element="wfe:removeService"> </wsdl:part> </wsdl:message> <wsdl:message name="getServicesRequest"> <wsdl:part name="parameters" element="wfe:getServices"> </wsdl:part> </wsdl:message> <wsdl:message name="removeUserFromServiceResponse"> <wsdl:part name="parameters" element="wfe:removeUserFromServiceResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="replaceWorkflowRequest"> <wsdl:part name="parameters" element="wfe:replaceWorkflow"> </wsdl:part> </wsdl:message> <wsdl:message name="getServicesInfoRequest"> <wsdl:part name="parameters" element="wfe:getServicesInfo"> </wsdl:part> </wsdl:message> <wsdl:message name="getWorkflowDescriptionRequest"> <wsdl:part name="parameters" element="wfe:getWorkflowDescription"> </wsdl:part> </wsdl:message> <wsdl:message name="getServicesResponse"> <wsdl:part name="parameters" element="wfe:getServicesResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getServiceIOsResponse"> <wsdl:part name="parameters" element="wfe:getServiceIOsResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getServiceInfoResponse"> <wsdl:part name="parameters" element="wfe:getServiceInfoResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="addUserToServiceResponse"> <wsdl:part name="parameters" element="wfe:addUserToServiceResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="removeWorkflowResponse"> <wsdl:part name="parameters" element="wfe:removeWorkflowResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getWorkflowDescriptionResponse"> <wsdl:part name="parameters" element="wfe:getWorkflowDescriptionResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getServiceInfoRequest"> <wsdl:part name="parameters" element="wfe:getServiceInfo"> </wsdl:part> </wsdl:message> <wsdl:message name="getWorkflowsResponse"> <wsdl:part name="parameters" element="wfe:getWorkflowsResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getServiceIOsRequest"> <wsdl:part name="parameters" element="wfe:getServiceIOs"> </wsdl:part> </wsdl:message> <wsdl:message name="replaceWorkflowResponse"> <wsdl:part name="parameters" element="wfe:replaceWorkflowResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="addServiceResponse"> <wsdl:part name="parameters" element="wfe:addServiceResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="addUserToServiceRequest"> <wsdl:part name="parameters" element="wfe:addUserToService"> </wsdl:part> </wsdl:message> <wsdl:message name="removeServiceResponse"> <wsdl:part name="parameters" element="wfe:removeServiceResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getServicesInfoResponse"> <wsdl:part name="parameters" element="wfe:getServicesInfoResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="addWorkflowResponse"> <wsdl:part name="parameters" element="wfe:addWorkflowResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="getWorkflowsRequest"> <wsdl:part name="parameters" element="wfe:getWorkflows"> </wsdl:part> </wsdl:message> <wsdl:message name="addServiceRequest"> <wsdl:part name="parameters" element="wfe:addService"> </wsdl:part> </wsdl:message> <wsdl:portType name="WorkflowEditor"> <wsdl:operation name="addService"> <wsdl:input message="wfe:addServiceRequest"> </wsdl:input> <wsdl:output message="wfe:addServiceResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeService"> <wsdl:input message="wfe:removeServiceRequest"> </wsdl:input> <wsdl:output message="wfe:removeServiceResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="addUserToService"> <wsdl:input message="wfe:addUserToServiceRequest"> </wsdl:input> <wsdl:output message="wfe:addUserToServiceResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeUserFromService"> <wsdl:input message="wfe:removeUserFromServiceRequest"> </wsdl:input> <wsdl:output message="wfe:removeUserFromServiceResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="addWorkflow"> <wsdl:input message="wfe:addWorkflowRequest"> </wsdl:input> <wsdl:output message="wfe:addWorkflowResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeWorkflow"> <wsdl:input message="wfe:removeWorkflowRequest"> </wsdl:input> <wsdl:output message="wfe:removeWorkflowResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="replaceWorkflow"> <wsdl:input message="wfe:replaceWorkflowRequest"> </wsdl:input> <wsdl:output message="wfe:replaceWorkflowResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getWorkflowDescription"> <wsdl:input message="wfe:getWorkflowDescriptionRequest"> </wsdl:input> <wsdl:output message="wfe:getWorkflowDescriptionResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getWorkflows"> <wsdl:input message="wfe:getWorkflowsRequest"> </wsdl:input> <wsdl:output message="wfe:getWorkflowsResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServices"> <wsdl:input message="wfe:getServicesRequest"> </wsdl:input> <wsdl:output message="wfe:getServicesResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServiceIOs"> <wsdl:input message="wfe:getServiceIOsRequest"> </wsdl:input> <wsdl:output message="wfe:getServiceIOsResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServiceInfo"> <wsdl:input message="wfe:getServiceInfoRequest"> </wsdl:input> <wsdl:output message="wfe:getServiceInfoResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServicesInfo"> <wsdl:input message="wfe:getServicesInfoRequest"> </wsdl:input> <wsdl:output message="wfe:getServicesInfoResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="WorkflowEditorSOAP" type="wfe:WorkflowEditor"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="addService"> <soap:operation soapAction="*****************addService"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeService"> <soap:operation soapAction="*****************removeService"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="addUserToService"> <soap:operation soapAction="*****************addUserToService"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeUserFromService"> <soap:operation soapAction="*****************removeUserFromService"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="addWorkflow"> <soap:operation soapAction="*****************addWorkflow"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="removeWorkflow"> <soap:operation soapAction="*****************removeWorkflow"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="replaceWorkflow"> <soap:operation soapAction="*****************replaceWorkflow"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getWorkflowDescription"> <soap:operation soapAction="*****************getWorkflowDescription"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getWorkflows"> <soap:operation soapAction="*****************getWorkflows"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServices"> <soap:operation soapAction="*****************getServices"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServiceIOs"> <soap:operation soapAction="*****************getServiceIOs"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServiceInfo"> <soap:operation soapAction="*****************getServiceInfo"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getServicesInfo"> <soap:operation soapAction="*****************getServicesInfo"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="SOAP"> <wsdl:port name="SOAPPort" binding="wfe:WorkflowEditorSOAP"> <soap:address location="*******************************"/> </wsdl:port> </wsdl:service> </wsdl:definitions>   
  

The stack trace error:

   Caused by: javax.wsdl.WSDLException: WSDLException (at /html): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at org.apache.axis2.description.AxisService.createClientSideAxisService(AxisService.java:2317) ... 29 more   
  

Прошу прощения. Это к 1С. Для сторонних может быть не так. Хотя кроме АдресВэбСервиса должно быть одинаково. Смотри в отладчике

В отладчике у меня есть только одна точка подключения, ее я и прописываю в Новый WSПрокси, если вызываю с окончанием soap, она ругается что порт не найден

Пробовала и «ПутьКМоемуСервису?wsdl» и «ПутьКМоемуСервису разницы нет

Проверь имя метода по wsdl

создай в пустой конфе WSСсылку, закинь в нее свой wsdl и посмотри, какие методы 1Ска распознает

web-сервисы чувствительны к регистру букв.

создай в пустой конфе WSСсылку, закинь в нее свой wsdl и посмотри, какие методы 1Ска распознает Она ругается, что формат неверен, в каком формате нужно указывать url

а в браузере открывается?

Путь у меня ПутьКМоемуСервису.xml?wsdl

открывается в xml формате

Пишет что неверный формат, может нужно каку-нибудь библитеку подгрузить?

адрес сервера секретный такой что ли?

значит не судьба с этим сервисом из 1Ски поработать. S OAP он такой SOAP, слишком вольно местами трактуемый

Адрес стороннего web-сервиса какой?

Да не нужен мне твой сервант, сама проверь, открывается ли в браузере wsdl-ка

Если там еще и https то вообще песня

открывая ПутьКМоемуСервису.xml?wsdl я получаю тоже что и когда пишу ПутьКМоемуСервису.xml

использовать платформу 8.3 в качестве ws2ws-proxy :)))

ТС, у меня была схожая ситуация, вот статья с моими изысканиями:

И что получаешь? *уже просто интересно*

В моем случае это не помогло(сторонний веб сервис был на Oracle Fusion Middlewere)

без разницы. Можно использовать любое MQ с поддержкой SOAP в качестве ws2ws-proxy

Ну не можешь и не можешь. Короче, ты описание сервиса через обычный браузер видишь?

Ищи метод addComment и смотри что он должен получить.

MQ = Message Queue, например, RabbitMQ

это параметры метода addcomment

Метод в том пространстве имен?

>>Из других систем этот метод работает Из каких других, 1С или что-то иное?

на той же машине, что и сервер 1С?

ты с регистром имя метода точно не путаешься, дело в том, что метод addcomment из и addComment из с точки зрения SOAP — разные

на perl имя метода как звучит?

у сервиса есть эхо-метод?

в скорее всего ошибка. в perl пространство имен и прочее статично или дергает из определения?

Можешь создать класс на Net для подключения вэб сервиса а затем через вот этот прокиси подключить его как ком

+ в передача параметров неправильная согласно : и. т. п.

Да там в создании WSProxy косяк, ИМХО

1ска же нормально преобразует в xml примитивные типы, мне кажется, это излишество

с фабрикой я тоже пробовала, но проблема именно в том что 1с-ка не видит этот метод

Проблема в создании WSProxy

Причина? Ты не знаешь статично оно в perl или динамично?

проблема в том, что wsdl скорее всего не соответствует спецификации. из-за чего 1Ска не может преобразовать его в XTDO.

ИМХО, там она просто из другого пространства имен цепляет.

Для сложных и included type есть такая фича

URIПространстваИмен и прочее точно соответсвует определению?

сервис на закрытом порту?

Для anyType нужно явное создание типа. Но в данном случае ругается на метод. Если же в она WS ссылку не может загрузить, то возможно, что 1С не понимает. Если бы была ссыдка можно было бы проверить

и закрывается все

Я давно разочаровался в 1с-овском SOAP. Сплошь и рядом продвинутые веб-сервисы юзают SOAP шире, чем его поддерживает 1С. В итоге 1С их «не понимает».

Вы статью читали, ссылку на которую я давал в самом начале? Делайте как там.

Сохрани WSDL-описание в xml-файл, и загрузи WSссылку, если будет ошибка «неверный формат», значит надо редактировать xml. Я так раздел за разделом отлаживал. Еще проверь веб-сервис на валидность, можно через сайт

Хорошая идея. Я тоже как-то было так отлаживал. Избавлял от циклических ссылок в пространствах имен (1С этого не переваривает). Думал, что победа близка. wsdl успешно загрузился. А потом выяснилось, что сервис использует хитрый способ авторизации через установку каких-то заголовков (подробности уже плохо помню), а 1С эту фигню не поддерживает. Было очень обидно.

файл сохранила, пишет что неверный формат, можно ли какой-нибудь прогой его проверить. Сайт не подходит

Может кто знает, что может не нравиться в wsdl 1с, почему она может писать неверный формат?

и что такое  циклические ссылки в пространствах имен

SoapUI тебе в помощь. невалидный wsdl

wsdl валидный, я отправляла запрос с помощью soap-клиента, все нормально отрабатывает

дело именно в 1с, ей что-то не нравиться(

Нашла))))) Может кому поможет: ошибка была в том что в узле яяя  не было выходного и в самом начале было просто , я поставила

Тэги: 1С 8