2017-01-26 2 views
0

ODataアクションのメタデータを照会して、どのパラメーターが期待されているか、どのように名前が付けられているかを調べたいとします。ODataアクションのメタデータを照会する方法は?

これは、link-to-service-root.com/service.svc/$metadataと入力するとわかります。しかし、この場合、私は完全なメタデータ出力を掘り下げなければなりません。

代わりに私はこれを行うためのエレガントな方法を探しています。たぶんクエリlink-to-service-root.com/service.svc/$metadata/Action('Namespace.NameOfAction')queryable odata metadataのブログ投稿に触発されています)が存在します。

ありがとうございました!

答えて

1

EDMからアクション(またはアクション)を取得し、パラメータで再生することができます。これが役に立ったら教えてください。

String serviceRoot = "http://services.odata.org/V4/TripPinServiceRW/"; 
    EdmMetadataRequest request = ODataClientFactory.getClient().getRetrieveRequestFactory().getMetadataRequest(serviceRoot); 
    ODataRetrieveResponse<Edm> response = request.execute(); 
    Edm edm = response.getBody(); 
    List<EdmAction> edmActions = edm.getSchemas().get(0).getActions(); //get the first schema 
    for (EdmAction action : edmActions) { 
     System.out.println("Action name: " + action.getName()); 
     List<String> actionParamNames = action.getParameterNames(); 
     System.out.println("Parameters: "); 
     for (String actionParamName : actionParamNames) { 
      EdmParameter param = action.getParameter(actionParamName); 
      System.out.println(param.getName() + " (" + param.getType().getName() + ")"); 
      //getMaxLength //getPrecision //isNullable //isCollection //etc. 
     } 
     System.out.println("---------------------"); 
    } 
関連する問題