2017-05-17 3 views
0

Ich bin ein Neuling in azure Logik App. Mein Ziel ist es, einige Variablen an die Logik-App zu senden (über den Java-Service-Code, der wiederum den Anfrage-Trigger mit der bereitgestellten POST-URL als REST-API aufruft) und die Antwort als JSON zu erhalten.Übergeben von Daten an Azure Logic App Anfrage-Trigger

Zur Zeit habe ich eine Anfrage Trigger erstellt und das JSON-Schema sieht wie folgt aus: -

{ 
    "$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" 
} 

Von der Anfrage Trigger, ich leite auf Antwortaktion und die folgenden als JSON-Antwort zurückgegeben werden.

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

Screenshot unten: -

enter image description here

Könnten Sie mir bitte einige Referenz Links geben, wie Logik-App von Java-Service zugreifen?

Ich weiß nicht, wie das benutzerdefinierte Objekt übergeben wird, so dass die Parameter des Objekts den Eigenschaften "CustomerName", "InvoiceNo", "InvoiceFee" zugeordnet werden.

Mein erstellt Java-Service-Code lautet wie folgt: -

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); 

Antwort

0

auf den Code der Suche

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

Sie eine GET-Operation zu tun. Ihr Logic App HTTP-Trigger würde erfordern, dass Sie eine POST-Operation mit Ihrer InvoiceDTO-Entity als Body durchführen (serialisiert als JSON).

So sollte etwa wie folgt aussehen:

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

Nicht sicher, ob es 100% richtig ist, mein Java ist ein wenig rostig, aber das ist die allgemeine Idee.

Verwandte Themen