Page 1 of 1
Ошибка при вызове mc_issue_get()
Posted: 22 Jun 2012, 06:10
by dmititro
пытаюсь подключиться через WSDL к мантису из 1С (

). при попытке вызвать описание инцидента мне приходит сообщение об ошибке.
Code: Select all
Ошибка вызова операции сервиса: {http://futureware.biz/mantisconnect}:MantisConnect:mc_issue_get()
Значение: '' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}dateTime
остальные методы вызываются нормально. Подскажите куда копать?
Re: Ошибка при вызове mc_issue_get()
Posted: 22 Jun 2012, 06:37
by Kirill
Хорошо бы увидеть код вызова
Re: Ошибка при вызове mc_issue_get()
Posted: 22 Jun 2012, 18:20
by dmititro
вызов такой:
Code: Select all
СервисМантис = WSСсылки.Mantis.СоздатьWSПрокси("http://futureware.biz/mantisconnect","MantisConnect","MantisConnectPort");
ВременнаяПеременная = СервисМантис.mc_enum_resolutions(ИмяПользователяМантис,ПарольМанис); //вызываеися для проверки корректности логина и пароля - успешно
ОписаниеЗадачи = СервисМантис.mc_issue_get(ИмяПользователяМантис,ПарольМанис, 2772);//инцидент 2772 в системе существует, при вызове падает по вышеописанной ошибке.
WSСсылки.Mantis - это элемент конфигурации, который добавлен, с указанием
https://our.company.domain/api/soap/man ... t.php?wsdl
Re: Ошибка при вызове mc_issue_get()
Posted: 24 Jun 2012, 20:48
by Kirill
Проверил. Действительно не работет. Завтра свяжусь с разработчиками.
Re: Ошибка при вызове mc_issue_get()
Posted: 26 Jun 2012, 13:08
by dmititro
Добрый день.
Есть ли какая-то информация от разработчиков?
правильно ли я понимаю, что исправление ошибки будет только при выходе обновления мантиса?
Re: Ошибка при вызове mc_issue_get()
Posted: 26 Jun 2012, 13:19
by Kirill
dmititro wrote:Добрый день.
Есть ли какая-то информация от разработчиков?
правильно ли я понимаю, что исправление ошибки будет только при выходе обновления мантиса?
Скорее всего нет.
Скорее всего ошибка происходит из-за поля due_date. Оно единственное которое может вернуться пустым и скорее всего 1С не может его корректно обработать.
Re: Ошибка при вызове mc_issue_get()
Posted: 27 Jun 2012, 08:29
by dmititro
тогда можете подсказать где и что в мантисе изменить, чтобы строка в WSDL из такой
Code: Select all
<xsd:element name="due_date" type="xsd:dateTime" minOccurs="0"/>
заменилась на такую
Code: Select all
<xsd:element name="due_date" type="xsd:dateTime" nillable="true" minOccurs="0"/>
тогда, я думаю, 1С пропустит пустое значение и не должна ругаться.
или это сильно проблематично и мне нужно отказаться от этой идеи?
Re: Ошибка при вызове mc_issue_get()
Posted: 27 Jun 2012, 08:34
by Kirill
dmititro wrote:тогда можете подсказать где и что в мантисе изменить, чтобы строка в WSDL из такой
Code: Select all
<xsd:element name="due_date" type="xsd:dateTime" minOccurs="0"/>
заменилась на такую
Code: Select all
<xsd:element name="due_date" type="xsd:dateTime" nillable="true" minOccurs="0"/>
тогда, я думаю, 1С пропустит пустое значение и не должна ругаться.
или это сильно проблематично и мне нужно отказаться от этой идеи?
откройте файл /api/soap/mantisconnect.php
строка 290:
Code: Select all
'due_date' => array( 'name' => 'due_date', 'type' => 'xsd:dateTime', 'nillable' => 'true', 'minOccurs' => '0' ),
Re: Ошибка при вызове mc_issue_get()
Posted: 29 Jun 2012, 07:33
by dmititro
Спасибо, помогло исправление строки на такую:
Code: Select all
'due_date' => array( 'name' => 'due_date', 'type' => 'xsd:string', 'nillable' => 'true', 'minOccurs' => '0' ),
нужен ли там nillable - я уже не проверял.