OTRS - Получить вложение статьи через SOAP

У меня нет проблем с доступом к билету и информации о его статьях через универсальный интерфейс SOAP с php и java на сервере OTRS 3.2. Но в ответе xml у меня нет информации о вложенных файлах.

Во-первых, согласно этой документации API (http://otrs.github.io/doc/api/otrs/3.2/Kernel/GenericInterface/Operation/Ticket/TicketGet.pm.html), я использовал функцию TicketGet с параметрами DynamicFields, Extended, AllArticles и Attachments установлены на 1, чтобы получить билет, но я не получаю никакой информации о статьях.

Далее, в соответствии с этим API (http://otrs.github.io/doc/api/otrs/3.2/Kernel/System/Ticket/Article.pm.html), я использовал функцию ArticleIndex, чтобы получить статьи билета с идентификатором, а затем ArticleGet, чтобы получить статья, к которой есть вложение. Я получаю информацию о статье с телом сообщения, но в ответе нет вложений.

Что-то не так в вызовах функций? Может быть, я пропускаю какой-то параметр. Или, возможно, у вас плохая конфигурация OTRS. В параметрах Admin->System config->Framework и Ticket есть много вещей, которые нужно изменить.

Спасибо


person user1151816    schedule 11.06.2014    source источник


Ответы (1)


Только что протестировано на устройстве OTRS 1.0.8 с помощью справочной службы OTRS 3.3.8. и у меня все в порядке. Я могу получить как статьи, так и вложения, используя метод TicketGet.

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

После завершения настройки веб-службы OTRS я отправляю следующий запрос SOAP через SoapUI на конечную точку OTRS Ticket Connector (в моем случае http://192.168.112.34/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <TicketGet>
         <UserLogin>root@localhost</UserLogin>
         <Password>root</Password>
         <TicketID>965</TicketID>
         <AllArticles>1</AllArticles>
         <Attachments>1</Attachments>
    </TicketGet>
   </soapenv:Body>
</soapenv:Envelope>

И получить в ответ следующее:

<soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <TicketGetResponse xmlns="http://www.otrs.org/TicketConnector/">
      <Ticket>
        <Age>160723</Age>
        <ArchiveFlag>n</ArchiveFlag>
        <Article>
          <ArticleID>3260</ArticleID>
          <ArticleType>webrequest</ArticleType>
          ...
          <Attachment>
            <Content>
              W0dlbmVyYWxdDQpTZXJ2ZXI9Mg0KQ3JlYXRlVGFibGU9MA0KW0Rlc3RdDQpTYXZlVG9GaWxlPTEN
              ...
              aXNoXQ0KTG9hZEludG9FZGl0b3I9MA0KQ2xvc2VBZnRlckNvbXBsaXRlPTANCg==
            </Content>
            <ContentAlternative/>
            <ContentID/>
            <ContentType>text/plain</ContentType>
            <Filename>1.smt</Filename>
            <Filesize>673 Bytes</Filesize>
            <FilesizeRaw>673</FilesizeRaw>
          </Attachment>
          <Attachment>
            <Content>
              REVDTEFSRSBAUkMgaW50DQpERUNMQVJFIEBMb2dnZWRVc2VySUQgaW50DQpERUNMQVJFIEBVc2Vy
              ...
              Y2hhbmdlc1htbA0KICAsQEJhc2VDb250cmFjdHNYbWwNCkdPDQoNCg==
            </Content>
            <ContentAlternative/>
            <ContentID/>
            <ContentType>application/octet-stream</ContentType>
            <Filename>3.sql</Filename>
            <Filesize>610 Bytes</Filesize>
            <FilesizeRaw>610</FilesizeRaw>
          </Attachment>
          <AttachmentIDOfHTMLBody>3</AttachmentIDOfHTMLBody>
          <Body>sdfghhfghg</Body>
        ...
        </Article>
      ...
      </Ticket>
    </TicketGetResponse>
  </soap:Body>
</soap:Envelope>

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

Надеюсь, что это поможет или не стесняйтесь оставлять отзывы об этом.

person Alexander Abakumov    schedule 01.08.2014
comment
@ user1151816: Если мой ответ был полезен, не могли бы вы принять его и/или проголосовать? Прошло больше года, и эта ветка выглядит заброшенной для дальнейших читателей, так как не дается никаких отзывов/принятий. Спасибо. - person Alexander Abakumov; 09.12.2015