FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

Polish
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Platforma
  • ESM
  • Inna dokumentacja techniczna ESM
  • Interfejs API sieci Web

Przykłady rozwiązywania problemów i testowania API sieci Web

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Zarządzanie usługami
    Rozwiązanie Matrix42 Professional Rozwiązanie Matrix42 Core Zarządzanie usługami przedsiębiorstwa Inteligencja Matrix42
  • Zarządzanie tożsamością i administracja ( IGA )
    Przegląd IGA Biblioteka rozwiązań IGA
  • Platforma
    ESM ESS2 ES Efecte Chat do zarządzania usługami Efektywne integracje Dodatki
  • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI
    2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Informacje i zasady dotyczące wydania
  • Inny materiał
    Wytyczne uid terminów i dokumentacji Oświadczenia dotyczące dostępności
  • Usługi
+ More
    • Zarządzanie usługami

    • Zarządzanie tożsamością i administracja ( IGA )

    • Platforma

    • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI

    • Inny materiał

    • Usługi

Przykłady rozwiązywania problemów i testowania API sieci Web

Rozwiązywanie problemów

Wycięcie lasu

Logi można znaleźć w interfejsie użytkownika ESM, w sekcji Administracja  Konserwacja  Logi. Z tego miejsca można pobrać logi, wyświetlić je w przeglądarce i sprawdzić liczbę otwartych sesji, aby wyświetlić poszczególne logi. Istnieją trzy logi przydatne do debugowania błędów API :

  • Dla dataCardImport com.bitmount.equipment.importing.ValidatingEntityXMLImporter
  • Do wyszukiwania com.efecte.webservice.SearchController
  • W przypadku zapytań EQL com.efecte.persistence.search.eql.EqlEngine

W logach można przeglądać błędy uprawnień i bardziej szczegółowe błędy dotyczące wyjątków EQL .

API sieci Web nie zwraca żadnych kart danych

API sieci Web nie zwraca żadnych kart danych, chociaż dla szablonu, który odpytuję, zostały utworzone karty danych.
Może to być problem z uprawnieniami. Jeśli użytkownik interfejsu API sieci Web nie ma uprawnień do danego szablonu, search.ws nie może zwrócić kart danych.

Wyszukiwanie z nieistniejącym kodem atrybutu

Jeśli search.ws zostanie użyty z nieistniejącym kodem atrybutu, np. $nam$ zamiast $name$, w takim przypadku interfejs API może zwrócić następującą odpowiedź:

<?xml version="1.0" encoding="utf-8"?>
<error>
<code>efe-3001</code>
   <description>Invalid search query</description>
   <details>Macros should be preprocessed, not converted to HQL: $nam$</details>
</error>

Oznacza to, że kod atrybutu $nam$ nie istnieje w szablonie.

Przeszukiwanie kart danych z literówką w klauzuli WHERE

Search.ws nie zwróci żadnych kart danych ani błędów, jeśli w kodzie atrybutu klauzuli WHERE występuje literówka. Na przykład zapytanie powinno brzmieć „WHERE $ efecte_id $ = 'INC-000259'”, ale w zapytaniu „select entity from entity where template.code='incident' AND $ efectei $='INC-000259'” występuje błąd w atrybucie.

Spowoduje to pustą odpowiedź bez błędów, ponieważ nic nie spełnia warunku WHERE.

Błędy importu DataCard

<?xml version="1.0" encoding="utf-8"?>
<entity-import-report>
   <start-time>04.09.2018 09:43:38</start-time>
   <total-time>0,294</total-time>
   <entities-handled-per-second>3,401</entities-handled-per-second>
   <average-entity-handling-time>0,294</average-entity-handling-time>
   <user>webapi</user>
   <entities-handled>1</entities-handled>
   <entities-saved>0</entities-saved>
   <entities-updated>0</entities-updated>
   <entities-created>0</entities-created>
   <template-errors>
       <template-error code="workstation">Ignoring entity</template-error>
   </template-errors>
</entity-import-report>

Może to być również spowodowane brakiem uprawnień do szablonu. Sprawdź w Administracja -> uprawnienia, czy rola API internetowego pozwala na tworzenie kart danych do szablonu.

Przykłady testowania

Testowanie żądań API webowego można łatwo przeprowadzić za pomocą przeglądarki lub curl. W przeglądarce łatwo jest testować żądania search.ws, zwłaszcza gdy przeglądarka obsługuje XML.

Testowanie za pomocą przeglądarki

Aby przetestować search.ws w przeglądarce, dodaj /search.ws po adresie URL instancji ESM. Poniżej znajduje się przykład testowania w przeglądarce z następującym adresem URL:


https://localhost:8080/esm/search.ws?attributeCodes=efecte_id,subject,description,status&query=select%20entity%20from%20entity%20where%20template.code=%27incident%27

Testowanie z Curl

Jedną z opcji testowania API internetowego jest curl. Poniżej znajduje się przykładowe polecenie curl, które wykonuje to samo zapytanie, co przykład w przeglądarce.

curl -X GET -u "webapi:Apitest" -L https://localhost:8080/esm/search.ws?attributeCodes=efecte_id,subject,destus&query=select%20entity%20from%20entity%20where%20template.code=%27incident%27

Przykładowa odpowiedź poniżej:

<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
<entity id="19406" name="Test incident2">
   <template id="2597" name="Incident" code="incident"/>
   <group code="incident_management"/>
   <attribute id="2612" name="Incident ID" code="efecte_id">
       <value>INC-000278</value>
   </attribute>
   <attribute id="2623" name="Status" code="status">
       <value>1 - Untouched</value>
   </attribute>
   <attribute id="2632" name="Subject" code="subject">
       <value>Test incident2</value>
   </attribute>
</entity>
</entityset>

Importowanie kart danych działa w podobny sposób, w tym przykładzie kod XML incydentu znajduje się w pliku importdata.xml:

curl -X POST -H "Content-Type: application/xml" -d @importdata.xml  -u "webapi:Apitest" -L https://localhost:8080/esm/dataCardImport.ws?folderCode=incident_management

Odpowiedź powinna wyglądać mniej więcej tak, jak na przykładzie poniżej:

<?xml version="1.0" encoding="utf-8"?>
<entity-import-report>
   <start-time>14.09.2018 10:44:48</start-time>
   <total-time>0,378</total-time>
   <entities-handled-per-second>2,646</entities-handled-per-second>
   <average-entity-handling-time>0,378</average-entity-handling-time>
   <user>webapi</user>
   <entities-handled>1</entities-handled>
   <entities-saved>1</entities-saved>
   <entities-updated>0</entities-updated>
   <entities-created>1</entities-created>
</entity-import-report>

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Opis języka zapytań Efecte
  • Opis efektów API sieci Web
  • Błędy API sieci Web

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand