2017-11-28 14 views
2

restInviceからjsonデータを取得することは可能ですか?pathinfoを使用する代わりにコードを使用しますか?以下のようなものを探してXPageでrestServiceからJSONデータを取得する

:。getComponent( "restService1")を取得...

<xe:restService id="restService1" pathInfo="rest"> 
        <xe:this.service> 
         <xe:jdbcQueryJsonService connectionName="mssql" contentType="application/json"> 
          <xe:this.sqlQuery><![CDATA[SELECT * FROM Order]]></xe:this.sqlQuery> 
         </xe:jdbcQueryJsonService> 
        </xe:this.service> 
       </xe:restService> 

答えて

1

私は、これは深くコアEXTLIB RESTサービスをハッキングすることなく、可能であるとは思いません。

これらのサービスでは、出力が生成され、通常はHttpResponseからのものである定義済みの出力ストリームに書き込まれます。既存のものを拡張することによりためjdbcQueryJsonServiceを独自のRESTサービスを作成し、民間へのアクセスに

  • 使用反射出力ストリームにアクセスするための独自のメソッドを追加し

    1. あなたは、このための2つのオプションがあります出力ストリームインスタンスを保持するプロパティ

    私はこれが努力する価値はないと私は思っています。 SQLサーバーへの独自のJDBC接続を作成し、独自の結果をJSONに変換する方がはるかに簡単です。

    EDIT:

    は、あなたがコンポーネントにアクセスしていることを忘れないでください。コンポーネントは、コンポーネントの現在の状態に応じてレンダラーによって生成される出力について何も知らない。 ExtLib REST ServicesはJSFの概念(サーブレットによって出力が生成されます)と少し異なりますが、パターンは同じです。

    XPages/JSFコンポーネントにこのようなメソッドがないのはこのためです。

  • +0

    私は、残りのサービスコントロールがURLでそれらにアクセスするために構築されていると思います。文字列としてパラメータ(たとえばgetFunctionなど)を投稿することができます –

    +0

    申し訳ありませんが、私はあなたのポイントを取得しません。多くのコンポーネントがURLによってアクセス可能です(例: Ajax機能のための特別なインターフェースがあります。 –

    関連する問題