2017-05-17 25 views
0

私はアジアロジックアプリケーションの初心者です。私の目的は、ロジックアプリケーションにいくつかの変数を送信することです(Javaサービスコードを介して、提供されたPOST URLをREST APIとしてリクエストトリガーを呼び出します)。JSONとしてレスポンスを取得します。Azureロジックにデータを渡すApp Request Trigger

は、現在、私が要求トリガを作成し、次のようにJSONスキーマに見える: -

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "definitions": {}, 
    "id": "http://example.com/example.json", 
    "properties": { 
    "CustomerName": { 
     "type": "string" 
    }, 
    "InvoiceFee": { 
     "type": "integer" 
    }, 
    "InvoiceNo": { 
     "type": "integer" 
    } 
    }, 
    "required": [ 
    "CustomerName", 
    "InvoiceFee", 
    "InvoiceNo" 
    ], 
    "type": "object" 
} 

を要求トリガから、私は、応答アクションに向け、JSONレスポンスとして返される次のです。

{ 
    "CustomerName": @{triggerBody()['CustomerName']}, 
    "InvoiceFee": @{triggerBody()['InvoiceFee']}, 
    "InvoiceNo": @{triggerBody()['InvoiceNo']} 
} 

以下のスクリーンショット: -

enter image description here

あなたは私のJavaサービスからロジックアプリにアクセスする方法のいくつかの参照リンクを提供していただけますか?

オブジェクトのパラメータが "CustomerName"、 "InvoiceNo"、 "InvoiceFee"の各プロパティにマップされるようにカスタム作成オブジェクトを渡す方法はわかりません。次のように

私の作成したJavaサービス・コードは次のとおりです。 - あなたがGET操作をしているあなたのコード

Response response = target.request().get(); 

を見てみると

InvoiceDTO invoiceDTOObject2 = new InvoiceDTO(); 

invoiceDTOObject2.setCustomerName("Sakthivel"); 
invoiceDTOObject2.setInvoiceNo(123); 
invoiceDTOObject2.setInvoiceFee(4000); 

ResteasyClient client = new ResteasyClientBuilder().build(); 
ResteasyWebTarget target = client.target("URL TO PROVID").resolveTemplate("properties", invoiceDTOObject2); 
Response response = target.request().get(); 
String jsonResponse = response.readEntity(String.class); 

System.out.println("JSON Reponse "+jsonResponse); 

答えて

0

。あなたのLogic App HTTP Triggerは、InvoiceDTO-entityを本体(JSONとしてシリアル化)としてPOST操作を実行する必要があります。それは100%正しいです

Response response = target.request().post(InvoiceDTO.entity(invoiceDTOObject2, MediaType.APPLICATION_JSON)); 

わからない場合は、私のJavaは少し錆びがあるが、それは一般的な考え方です:

だから次のようになります。

関連する問題