Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Search

    Fehler in JSON RPC Schnittstelle - idoit v1.02

    Entwicklung
    3
    9
    2499
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      alex123 last edited by

      ab version 2.0 des JSON RPC Protokolls wird bei der Antwort entweder ein "result" oder "error" objekt zurückgeliefert. manche JSON RPC clients berücksichtigen das und geben einen Fehler aus, wenn beide objekte in der Antwort sind.

      http://de.wikipedia.org/wiki/JSON-RPC

      1 Reply Last reply Reply Quote 0
      • A
        alex123 last edited by

        noch ein kleiner fehler. der content-type in der antwort sollte "application/json" statt "html/text" sein.

        1 Reply Last reply Reply Quote 0
        • A
          alex123 last edited by

          wenn ich ein neues object erstelle bekomme ich immer einen php fehler mit in der antwort, womit der JSON parser nicht klar kommt.

          request:

          {"id":26,"method":"cmdb.object.create","params":{"title":"Zentrales Softwareportal","type":"C__OBJTYPE__IT_SERVICE","apikey":"123456789"},"jsonrpc":"2.0"}
          

          response:

          Warning: constant(): Couldn't find constant  in /srv/www/htdocs/idoit/src/classes/api/model/cmdb/isys_api_model_cmdb_object.class.php on line 147
          {"result":{"id":1928,"message":"Object was successfully created","success":true},"error":null,"id":26}
          

          kann man natürlich umgehen wenn mann in der php.ini zum beispiel "display_errors = On" auf "display_errors = Off" ändert. Trotzdem sollten in einem JSON Objekt keine PHP Fehlermeldungen zu sehen sein.

          1 Reply Last reply Reply Quote 0
          • A
            alex123 last edited by

            wenn ich ein update auf die kategorie 'C__CATG__GLOBAL' ausführe und keinen titel übergebe, wird der titel gelöscht. laut handbuch sind alle parameter optional.

            request:

            {"id":103,"method":"cmdb.category.update","params":{"catgID":"C__CATG__GLOBAL","data":{"cmdb_status":6},"objID":1951,"apikey":"123456789"},"jsonrpc":"2.0"}
            

            response:

            {"result":{"success":true,"message":"Category successfully saved"},"error":null,"id":103}
            

            es wäre noch wünschenswert, wenn die kategoriekonstanten im handbuch zu finden wären. Eine eigene wiki Seite für die JSON-RPC Schnittstelle wäre zum Entwickeln etwas besser. Ich verliere im PDF Dokument oft die Übersicht.

            1 Reply Last reply Reply Quote 0
            • LFischer
              LFischer last edited by

              Hallo Alex,

              vielen Dank für die Zahlreichen Meldungen - Ich werde diese an die Entwickler übergeben!

              Viele Grüße
              Leo

              1 Reply Last reply Reply Quote 0
              • A
                alex123 last edited by

                @LFischer:

                Hallo Alex,

                vielen Dank für die Zahlreichen Meldungen - Ich werde diese an die Entwickler übergeben!

                Viele Grüße
                Leo

                Das freut mich. Noch zur Info: Ich verwende den JSON-RPC Client von dieser Webseite:

                http://software.dzhuvinov.com/json-rpc-2.0.html

                1 Reply Last reply Reply Quote 0
                • A
                  alex123 last edited by

                  Wenn ich einen nicht vorhandenen eintrag aus einer multivalue-kategorie löschen möchte erhalte ich als rückmeldung, dass der eintrag erfolgreich gelöscht wurde.

                  request:

                  {"id":8,"method":"cmdb.category.delete","params":{"catgID":"C__CATG__ACCESS","cateID":29,"objID":1735,"apikey":"123456789"},"jsonrpc":"2.0"}
                  

                  response:

                  {"message":"Category entry '29' successfully deleted","success":true}
                  
                  1 Reply Last reply Reply Quote 0
                  • SBohm
                    SBohm last edited by

                    @alex123:

                    Wenn ich einen nicht vorhandenen eintrag aus einer multivalue-kategorie löschen möchte erhalte ich als rückmeldung, dass der eintrag erfolgreich gelöscht wurde.

                    request:

                    {"id":8,"method":"cmdb.category.delete","params":{"catgID":"C__CATG__ACCESS","cateID":29,"objID":1735,"apikey":"123456789"},"jsonrpc":"2.0"}
                    

                    response:

                    {"message":"Category entry '29' successfully deleted","success":true}
                    

                    Hallo Alex,
                    Es wird bei dieser Abfrage geprüft ob Kategorie-Eintrag den Status Normal oder Gelöscht hat und je nachdem welchen Status der Eintrag hat anders behandelt:

                    1er Aufruf:
                    Status wird auf gelöscht gesetzt

                    2th Aufruf:
                    Eintrag wird vollständig gelöscht(purge)

                    Also ist das Handling wie folgt:

                    Eintrag[Normal] –---delete---> Eintrag[gelöscht] –---delete---> PURGE[Tatsächliches löschen aus der DB]

                    Aus diesem Grund erhalten Sie mindestens 2 mal eine erfolgreiche Nachricht, dass der Eintrag gelöscht wurde.

                    Mit freundlichen Grüßen

                    Steven

                    1 Reply Last reply Reply Quote 0
                    • A
                      alex123 last edited by

                      Mir ist noch folgendes aufgefallen. Beim Update eines Objekts durch die Methoden "cmdb.category.update" und "cmdb.object.update" bleibt das Änderungsdatum unverändert.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post