JSON POST-Anforderung

Benutzerdefinierte Webservices können als REST-Webservices verfügbar gemacht werden und mit einer POST-Methode konfiguriert werden, die JSON-Eingaben zulässt. Spezifizieren Sie Content-Type:application/json und verwenden Sie das folgende Format für JSON POST-Anforderungen.

Flache Daten

Senden Sie unter Berücksichtigung des folgenden Formats im Text der Anforderung flache Daten mithilfe von POST an einen Webservice.

{
  "InputStageName": 
  {
    "InputDataType": [
      {
        "FieldName1": "FieldValue1",
        "FieldName2": "FieldValue2"
      }
    ]
  }
}

Wo:

InputStageName
Der Name des Input-Schrittes gemäß der Darstellung auf der Arbeitsfläche im Enterprise Designer. Der Standardname des Schrittes lautet Input.
InputDataType
Der Name, der für die Entität auf Datensatzebene angegeben wird. Dieser Name wird im Input-Schritt des Datenflusses im Feld Datentypname auf der Registerkarte Eingabefelder angegeben. Der Standardname der Entität auf Datensatzebene lautet Row.
FieldName1 und FieldName2
Die Namen der Eingabefelder, die im Input-Schritt des Dienstes definiert sind.
FieldValue1 und FieldValue2
Eingabedaten, die Sie im entsprechenden Feld an den Webservice senden möchten.

Listendaten

Listendaten sind aus hierarchischen Gruppierungen von Feldern zusammengesetzt, die unter einem übergeordneten Feld gruppiert werden.
Anmerkung: Um Listendaten als Eingabe zu verwenden, muss der Dienst als REST-Webservice ohne GET-Ressourcen verfügbar gemacht werden. Wenn der Dienst eine GET-Ressource enthält, wird im Enterprise Designer eine Fehlermeldung angezeigt, wenn der Dienst verfügbar gemacht wird. Der Grund hierfür ist, dass hierarchische Felder für GET nicht unterstützt werden.

Senden Sie unter Berücksichtigung des folgenden Formats Listendaten mithilfe von POST an einen Webservice.

{
  "InputStageName": 
  {
    "InputDataType": [
      {
        "ListField1":[
          {"SubfieldName1": "SubfieldValue1"},
          {"SubfieldName2": "SubfieldValue2"}
        ]
      }
    ]
  }
}

Wo:

InputStageName
Der Name des Input-Schrittes gemäß der Darstellung auf der Arbeitsfläche im Enterprise Designer. Der Standardname des Schrittes lautet Input.
InputDataType
Der Name, der für die Entität auf Datensatzebene angegeben wird. Dieser Name wird im Input-Schritt des Datenflusses im Feld Datentypname auf der Registerkarte Eingabefelder angegeben. Der Standardname der Entität auf Datensatzebene lautet Row.
ListField1
Der Name des hierarchischen Feldes, das im Input-Schritt des Dienstes definiert ist.
SubfieldName1 und SubfieldName2
Die Namen der untergeordneten Felder, aus denen sich das Listenfeld zusammensetzt.
SubfieldValue1 und SubfieldValue2
Eingabedaten, die Sie an den Webservice senden möchten.

Benutzerfelder

Sie können zusätzliche Felder über den Webservice übergeben, auch wenn der Webservice diese nicht verwendet. Diese Felder werden unverändert im Bereich user_fields der Antwort zurückgegeben. Die in der Anforderung angegebenen Benutzerfelder müssen nicht im Input-Schritt des Dienstdatenflusses definiert werden.

{
  "InputStageName": 
  {
    "InputDataType": [
      {
        "user_fields": [
        {
          "name": "FieldName1",
          "value": "FieldValue1"
        },
        {
          "name": "FieldName2",
          "value": "FieldValue2"
        }]
      }
    ]
  }
}

Wo:

InputStageName
Der Name des Input-Schrittes gemäß der Darstellung auf der Arbeitsfläche im Enterprise Designer. Der Standardname des Schrittes lautet Input.
InputDataType
Der Name, der für die Entität auf Datensatzebene angegeben wird. Dieser Name wird im Input-Schritt des Datenflusses im Feld Datentypname auf der Registerkarte Eingabefelder angegeben. Der Standardname der Entität auf Datensatzebene lautet Row.
FieldName1 und FieldName2
Der Name des Durchlauffeldes.
FieldValue1 und FieldValue2
Die Daten, die im Durchlauffeld enthalten sein sollen.

Optionen

Sie können Optionen in der Anforderung festlegen, welche die im Dienstdatenfluss angegebenen Standardoptionen überschreiben. Für benutzerdefinierte Webservices können Sie nur dann Optionen in der Anforderung festlegen, wenn die Annahme von Optionen im Datenfluss konfiguriert wurde. Öffnen Sie einen Dienst im Enterprise Designer, und wählen Sie Bearbeiten > Datenflussoptionen aus, um den Dienst für die Annahme von Optionen in der Anforderung zu konfigurieren.

Geben Sie anhand des folgenden Formats Verarbeitungsoptionen in einer Anforderung an:

"options" : {
     "OptionName1" : "Value1"
},

Wo:

OptionName1
Der Name der Option. Eine Liste der gültigen Optionen für den Dienst finden Sie in der WADL des Dienstes. Öffnen Sie den Dienst alternativ im Enterprise Designer, und wählen Sie Bearbeiten > Datenflussoptionen aus.
OptionValue1
Ein gültiger Wert für die Option. Öffnen Sie den Dienst im Enterprise Designer, und wählen Sie Bearbeiten > Datenflussoptionen aus, um eine Liste der gültigen Werte zu erhalten.

Beispiel: JSON-Anforderung mithilfe von POST

Im folgenden Beispiel wird veranschaulicht, wie Sie Optionen, flache Felder, ein Listenfeld und benutzerdefinierte Felder in einer JSON-Anforderung an einen Webservice anhand von POST hinzufügen.

{
  "options" : {
    "OutputCasing" : "U"
},
  "Input": 
  {
    "Address": [
      {
        "AddressLine1": "1825 Kramer Ln",
        "City": "Austin",
        "StateProvince": "TX",
        "Accounts": [
        {
          
          "AccountNumber": "120993",
          "ExpirationDate": "10-3-2017"
         },
         {
          
          "AccountNumber": "898732",
          "ExpirationDate": "8-13-2016"
         }
        ],
        "user_fields": [
        {
          "name": "Note1",
          "value": "Prefers decaffeinated coffee"
        },
        {
          "name": "Note2",
          "value": "Requests east facing window"
        }] 
      }
    ]
  }
}
In diesem Beispiel
  • ist OutputCasing eine Option, die durch den Webservice zur Steuerung, ob die Ausgabe in Großbruchstaben oder Kleinbuchstaben zurückgegeben wird, verfügbar gemacht wurde. In diesem Beispiel ist sie auf U (= Großbuchstaben) eingestellt.
  • Input ist die Beschriftung des Input-Schrittes im Datenfluss gemäß der Anzeige auf der Arbeitsfläche im Enterprise Designer.
  • Address ist der Name der Entität auf Datensatzebene gemäß den Angaben im Input-Schritt des Datenflusses im Feld Datentypname auf der Registerkarte Eingabefelder.
  • AddressLine1, City und StateProvince sind flache Felder.
  • Accounts ist ein hierarchisches („Listen“-)Feld, das die Namen der Unterfelder AccountNumber und ExpirationDate enthält. Dieses Beispiel umfasst zwei Konten.
  • user_fields enthält benutzerdefinierte Felder, die übergeben und ohne Änderung durch den Webservice in der Ausgabe zurückgegeben werden.