Page 1 of 1

Ошибка при вызове mc_issue_get()

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

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 - я уже не проверял.