2016-06-28 13 views
1

AKTUALISIERTE FRAGE, um mehr zu klären.Aufruf von wso2greg Artifcat Rest API über wso2api Manager funktioniert nicht - irgendwelche Ideen zu beheben

Ich habe zwei Server: wso2greg mit benutzerdefinierten Artefakten und Wso2am (API-Manager).

Das Gouvernance-Register ist für die interne Verwendung (Intranet) vorgesehen, und einige seiner Funktionen sollen extern verfügbar gemacht werden und über seine Rest-API bereitgestellt werden.

Um wso2greg-API-Zugriffe zu verwalten, haben wir einen wso2am (api manager) -Server verwendet, in dem wir eine API definiert haben, die als Proxy für die wso2greg-API dient.

In unseren Experimenten fanden wir das ungewöhnliche Verhalten im Folgenden beschrieben:

  1. Erfolgreich direkten Aufruf wso2greg Rest api Artefakt (die genaue URL ist https://localhost:9443/resource/1.0.0/artifact/_system/governance/myartifact/art1 und ich bin im Anschluss an die Dokumentation dieser REST API von hier https://docs.wso2.com/display/Governance520/Resources+with+REST+API) Postbote verwenden. Die API reagiert wie in der Dokumentation beschrieben.

  2. Fehler 500, auf dem Server wso2greg gemeldet, beim Aufruf derselben REST-API, aber über den API-Manager (mithilfe der Publisher-Anwendung).

So als Zusammenfassung:

  • direkt aufrufen wso2greg Rest API Woks fein und ein bekam Ergebnisse zurück
  • dieses Arbeits API Hinzufügen, in wso2am und als Aufruf immer Fehler gibt 500

Als zusätzliche Informationen:

  • Getestet mit anderen wso2greg REST API, wie "Bewertung" oder "Kommentare" und ich konnte es entweder direkt aufrufen oder API-Manager werfen.
  • Versucht, Informationen im Zusammenhang mit Standard wso2greg Artefakte wie Restservice zu erhalten, aber ich habe genau die gleiche PB wenn (Fehler 500) interagmen mit API-Manager.
  • Arbeiten mit der letzten Version der beiden Produkte: wso2greg Version 5.2.0 und wso2am Version 1.10.0

Bitte Beratung oder klären, wie ich diese internen Fehler in wso2greg debuggen können.

Grüße,

+0

Sind Spielzeug mit Feature installierte Version von greg5.1.0 + apim1.10? – tkr

+0

Wir verwenden separate Server. Vielen Dank. – MWY

+0

Was sind die Produktversionen? – tkr

Antwort

0

Ich hoffe, dass Ihr nicht G-Reg + APIM mithilfe der Funktion installed version. Ich nehme an, dass Sie separate G-reg 5.2.0 und APIM x.x.x verwenden. Da Sie bei Verwendung der zweiten Option G-Reg REST API nicht mit APIM verwenden können, müssen Sie stattdessen APIM REST API verwenden.

Get an API

Description:  Get details of a specific API. 
URI:    http://localhost:9763/publisher/site/blocks/listing/ajax/item-list.jag 
URI Parameters: action=getAPI&name=xxx&version=xxx&provider=xxx 
HTTP Methods: POST 
Example:  
       curl -X POST -b cookies http://localhost:9763/publisher/site/blocks/listing/ajax/item-list.jag -d "action=getAPI&name=PhoneVerification&version=1.0.0&provider=admin" 

Bitte folgen this link alle api Nutzung zu sehen.

+0

Danke, aber wir möchten wso2greg api einmal über den API-Manager wie jede andere interne API verfügbar machen. – MWY

+0

, so dass Sie alle APIs verwalten, die mit APIM in G-Reg verfügbar gemacht werden? Gibt es ein Rxt für APIs in G-Reg definiert? Bitte teilen Sie das Architekturdiagramm, um eine Lösung bereitzustellen. – tkr

+0

Ja, es ist ein benutzerdefiniertes rxt definiert. – MWY

0

Dank @thusharaK für die Bereitstellung von Hilfe.

Die Lösung bestand darin, Message Mediation Policies hinzuzufügen, die den json-Header bei der Ausgabe erzwingt.

Jetzt bekam ich meine korrekte Antwort vom API-Manager (in der Tat bekam ich eine binäre Antwort in der Testkonsole und eine JSON-Antwort im Postboten).

+0

Teilen Sie einen Screenshot mit Ihrer Antwort. Ich bin immer noch nicht sicher, was die Lösung war? – tkr