0

WSO2 API Manager 1.6.0 では、addAPI への REST ポストは成功を返しますが、追加された API レコードが不完全であり、使用できないという新しい問題が発生しました。ログ ファイルを調べて、問題を /publisher/site/themes/default/templates/overview/template.jag#3 までたどりました。jaggery ファイル template.jag の変更により、3 行目で次のような Java null ポインタ例外が発生します。コード 'var endpoint_config = parse(api.endpointConfig);'

API Manager 1.5.0 では、この同じ REST API 呼び出しが機能しましたが、SLES 11 SP2 を実行している VMWare ボックスで完了するのに 3 分かかりました。Web インターフェイス経由で API を追加するのにも 3 分かかりました。Mac OS X と Windows の両方で試したところ、実行に約 3 秒かかりました。同じ環境で API Manager 1.6.0 を使用すると、Web インターフェイスは 6 秒未満で実行され、追加された API は適切です。REST 呼び出しを介して API を追加すると、不完全なレコードが作成され、VMWare with SLES 11 SP2 と Mac OSX Mavericks の両方でテストされます。

誰でもこの問題を経験しましたか?

4

1 に答える 1

1

パブリッシャー API に関するドキュメントはまだ更新されていないようです。API Manager 1.6.0 では、エンドポイントの保存方法が変更されました。REST API 呼び出しを機能させるには、次のような要求を試すことができます。

curl -X POST -b cookies  http://localhost:9763/publisher/site/blocks/item-add/ajax/add.jag -d"action=addAPI&name=YouTube1&context=%2Fyoutube1&version=1.0.0&tier=Gold&responseCache=disabled&visibility=public&endpoint_config=%7B%22production_endpoints%22%3A%7B%22url%22%3A%22http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fapi%2Fstandardfeeds%2Fmost_popular%22%2C%22config%22%3Anull%7D%2C%22endpoint_type%22%3A%22http%22%7D&endpointType=nonsecured&subscriptions=current_tenant&resourceTemplate=%2F*&resourceCount=0&resourceMethod-0=POST&resourceMethodAuthType-0=Application&uriTemplate-0=%2F*&resourceMethodThrottlingTier-0=Unlimited&tiersCollection=Gold"

リクエストをデコードすると、エンドポイントが JSON として定義されていることがわかります

endpoint_config={"production_endpoints":{"url":"http://gdata.youtube.com/feeds/api/standardfeeds/most_popular","config":null},"endpoint_type":"http"}
于 2014-01-07T17:26:51.183 に答える