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.

Finnish
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Alusta
  • ESM
  • Muu tekninen ESM-dokumentaatio
  • WebAPI

Web API: vianmääritys ja testiesimerkit

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.

  • Palveluhallinta
    Matrix42 Core -ratkaisu Matrix42 Intelligence Matrix42 Professional -ratkaisu
  • Identity Governance and Administration (IGA)
    IGA-ratkaisukirjasto IGA-yleiskatsaus
  • Alusta
    ESM ESS2 ESS Efecte Chat for Service Management Lisäosat
  • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle
    2026.1 2025.3 2025.2 2025.1 2024.2 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Julkaisutiedot ja käytännöt
  • Muu materiaali
    Saavutettavuusselosteet Termit ja dokumentaatio-ohjeet
  • Palvelut
+ More
    • Palveluhallinta

    • Identity Governance and Administration (IGA)

    • Alusta

    • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle

    • Muu materiaali

    • Palvelut

Web API: vianmääritys ja testiesimerkit

Vianmääritys

Lokitiedostot

Lokit löytyvät ESM:n käyttöliittymästä kohdasta Administration – Maintenance – Logs. Täältä on mahdollista ladata lokeja, tarkastella lokeja selaimessa ja tarkistaa, kuinka monta avointa istuntoa eri lokien tarkasteluun on. Web API -virheiden vianmäärityksen kannalta hyödyllisiä lokeja on kolme:

  • dataCardImportia varten com.bitmount.equipment.importing.ValidatingEntityXMLImporter
  • hakua varten com.efecte.webservice.SearchController
  • EQL:ää varten queriescom.efecte.persistence.search.eql.EqlEngine

Lokeista näette käyttöoikeusvirheet ja tarkemmat virheet EQL-poikkeuksille.

Web API ei palauta yhtään tietokorttia

Web API ei palauta yhtään tietokorttia, vaikka kyselemääni mallipohjaan on luotu tietokortteja.
Kyse voi olla käyttöoikeusongelmasta. Jos web api -käyttäjällä ei ole kyseisen mallipohjan käyttöoikeuksia, search.ws ei voi palauttaa tietokortteja.

Haku olemattomalla attributeCodella

Jos search.ws-palvelua käytetään olemattomalla attributeCodella, esim. $nam$ oikean $name$ sijaan, web API voi antaa seuraavan vastauksen:

<?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>

Tämä tarkoittaa, ettei attributeCode $nam$ ole olemassa mallipohjassa.

Tietokorttien haku, kun WHERE-lausekkeessa on kirjoitusvirhe

Search.ws ei palauta tietokortteja eikä virheitä, jos WHERE-lausekkeen attributeCodessa on kirjoitusvirhe. Esimerkiksi kyselynne pitäisi olla “WHERE $efecte_id$ = ‘INC-000259’ ”, mutta kyselyssä on väärin kirjoitettu attribuutti “select entity from entity where template.code='incident' AND $efectei$='INC-000259' ”

Tämä antaa tyhjän vastauksen ilman virheitä, koska mikään ei täsmää WHERE-ehtoon.

DataCardImport-virheet

<?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>

Tämä voi johtua myös puutteellisista mallipohjan käyttöoikeuksista. Tarkistakaa kohdasta Administration -> permissions, että web api -roolilla on oikeus luoda tietokortteja mallipohjaan.

Testiesimerkit

Web API -pyyntöjen testaaminen onnistuu helposti selaimella tai curlilla. Selaimessa search.ws-pyyntöjen testaaminen on helppoa, erityisesti kun selain osaa käsitellä xml:ää.

Testaaminen selaimella

Testataksenne search.ws-palvelua selaimessa, lisätkää /search.ws ESM-instanssin perus-URL-osoitteen perään. Alla on kuva selaintestauksesta seuraavalla URL-osoitteella:


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

Testaaminen curlilla

Yksi vaihtoehto Web API:n testaamiseen on curl. Alla on esimerkki curl-komennosta, joka tekee saman kyselyn kuin selainesimerkki.

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

Esimerkkivastaus alla:

<?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>

Tietokorttien tuonti toimii samalla tavalla; tässä esimerkissä häiriön xml on importdata.xml-tiedostossa:

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

Vastauksen pitäisi olla suunnilleen alla olevan esimerkin kaltainen:

<?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

Table of Contents

Related Articles

  • Efecte-kyselykielen kuvaus
  • Efecte Web API -kuvaus
  • Web API -virheet

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand