In diesem Artikel wird beschrieben, wie Sie den Webdienst-Dienst in Prozessen verwenden, um Dienste aufzurufen, die Dateianlagen als Eingabewerte erfordern. In diesem Artikel wird auch beschrieben, wie Sie das Format festlegen, in dem Dateianlagen von LiveCycle ES-Webdiensten zurückgegeben werden.
Beispielsweise werden Dienstein- und -ausgabevariablen vom Typ „Dokument“ in SOAP-Nachrichten als Dateianlagen dargestellt. Zur Bereitstellung von Dokumenteingabewerten beinhaltet die SOAP-Nachricht eine Dateianlage. Antwortnachrichten beinhalten Dateianlagen, wenn Webdienste Ausgabevariablen vom Typ „Dokument“ haben.
Dateien können als MIME- oder MTOM-Anhänge, als base64-kodierter Text oder unter Verwendung der URL der Datei angehängt werden:
- Die SOAP-Nachricht und die Konfiguration des Vorgangs „Webdienst aufrufen“ unterscheiden sich für jeden Anhangtyp. (Weitere Informationen finden Sie unter „Konfigurieren der Webdienstanforderungsmeldung“.)
- Wenn Sie einen LiveCycle ES-Webdienst aufrufen, der einen Dokumentwert zurückgibt, können Sie die Methode festlegen, mit der die Datei an die SOAP-Antwortmeldung angehängt wird. (Weitere Informationen finden Sie unter „Konfigurieren der Webdienstanforderungsmeldung“.)
Hinweis: Webdienste, die von LiveCycle ES bereitgestellt werden, unterstützen MTOM-Anhänge nicht.
In diesem Abschnitt wird beschrieben, wie Sie die Eigenschaft „Webdienstoptionen“ des Vorgangs „Webdienst aufrufen“ konfigurieren. Mit dieser Eigenschaft konfigurieren Sie die SOAP-Anforderungsmeldung, die an den Webdienst gesendet wird:
Sie verwenden das „Webdienst-Einstellungen“-Dialogfeld, um die Eigenschaft „Webdienstoptionen“ des Vorgangs „Webdienst aufrufen“ zu konfigurieren.
Sie müssen folgende Informationen über den Webdienst bereitstellen, damit der Webdienst-Dienst die WSDL abruft und SOAP-Nachrichten sendet und empfängt:
WSDL-URL: Die URL der Webdienstdefinition. Die URL für Prozess-WSDLs sind im folgenden Format: http://[server name]:[port]/soap/services/[process name]?wsdl Die folgende URL verweist beispielsweise auf die WSDL für den Prozess mit dem Namen „echoDocument“. Der Anwendungsserver läuft auf demselben Computer, auf dem LiveCycle Workbench ES installiert ist: http://localhost:8080/soap/services/echoDocument?wsdl Benutzername: Der Benutzername des Benutzerkontos, mit dessen Hilfe Sie auf den Webdienst zugreifen. Sie müssen nur dann einen Benutzernamen eingeben, wenn der Webdienst eine Authentifizierung erfordert.
Kennwort: Das Kennwort, das dem Benutzernamen entspricht, den Sie für die Benutzername-Eigenschaft angegeben haben.
Anschluss: Der Dienst, den Sie verwenden möchten, der durch die WSDL zur Verfügung gestellt wird. Eine WSDL kann mehrere Dienste bereitstellen.
Ziel-URL: Die URL, die den Zugriff auf den Webdienst ermöglicht. Bei einem Prozess namens „echoDocument“ ist die URL „http://localhost:8080/soap/services/echoDocument“.
strong>Vorgang: Der Webdienstvorgang zum Aufrufen. Die Liste wird automatisch befüllt, wenn Sie die Webdienstdefinition laden.
Zeitlimit: Die Zeitdauer, für die Sie auf eine Antwort des Webservice warten sollten, bevor Sie den Webdienstaufruf abbrechen. Der Wert, den Sie bereitstellen, ist in Sekunden.
Das „Webdiensteinstellungen“-Dialogfeld generiert eine SOAP-Nachricht zum Aufrufen des Webdienstes. Die Meldung basiert auf den von Ihnen angegebenen Webdiensteigenschaften. Die SOAP-Nachricht wird in einem Textfeld angezeigt, in dem Sie die Nachricht nach Bedarf bearbeiten können.
Die SOAP-Nachricht muss Dateianlagen enthalten, um Dokumentwerte von Diensteingabeparametern darzustellen.
Der folgende XML-Code zeigt die allgemeine Struktur einer SOAP-Nachricht, die für den Aufruf eines Webdienstvorgangs verwendet wird:
- Das Hauptteilelement enthält ein Element mit dem Namen des Dienstvorgangs.
- Das „operation_name“-Element enthält ein Element für jeden Eingabeparameter. Die Namen dieser Elemente sind mit den Parameternamen identisch.
Die Methode, die verwendet wird, um der SOAP-Nachricht Dateien anzuhängen (MIME, MTOM (außer LiveCycle ES-Webdienste), base64-kodierter Text oder Datei-URLs) bestimmt die Elemente, die verwendet werden, um Dateianlagen zu identifizieren.
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://foo.net/services"> <soapenv:Header /> <soapenv:Body> <ser:operation_name> <ser:parameter_name> <!-- elements for file attachments are placed here --> </ser:parameter_name> </ser:operation_name> </soapenv:Body> </soapenv:Envelope>
Für die Webdienste der aktivierten Prozesse wird immer der Vorgangsname aufgerufen. Parameternamen sind die Namen der Eingabevariablen, die im Prozess definiert sind. In der folgenden Tabelle wird beschrieben, wie Sie die Optionen im „Webdiensteinstellungen“-Dialogfeld konfigurieren, um Dateien anzuhängen. Für jede Methode werden Beispiel-SOAP-Nachrichten bereitgestellt. Die Beispiele sind Anforderungsnachrichten für den Webdienst eines Prozesses mit dem Eingabeparameter „documentIn“. Der „documentIn“-Parameter ist ein Dokumentwert.
Typ des Anhangs | Beschreibung | Beispiel für eine SOAP-Nachricht |
MIME/MTOM | Im „Webdiensteinstellungen“-Dialogfeld wird der Dokumentwert unter der „Anhang“-Registerkarte festgelegt. Jede Zeile in der Tabelle repräsentiert einen Dateianhang. Konfigurieren einer MIME-Anlage:
|
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:attachmentID> part0 </ser:attachmentID> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope> |
base64-kodierter Text | Der MIME-Inhaltstyp und die base64-kodierte Textdarstellung der Datei ist in der SOAP-Meldung enthalten:
Um den base64-kodierten Text zu erhalten, können Sie die XPath-Funktion „getDocContentBase64“ verwenden. Das folgende Verfahren nimmt an, dass der base64-kodierte Text, der den Dokumentwert darstellt, in einer Prozessvariable gespeichert ist. Gehen Sie wie folgt vor, um einen base64-kodierten Textanhang zu konfigurieren:
|
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:contentType> {$/process_data/@contentType$} </ser:contentType> <ser:binaryData> {$/process_data/@docBase64$} </ser:binaryData> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope> |
Datei-URL | Die URL der Datei wird in einem remoteURL-Element angegeben. Gehen Sie wie folgt vor, um eine Datei-URL-Anlage zu konfigurieren:
|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://adobe.com/idp/services"> <soapenv:Header/> <soapenv:Body> <ser:invoke> <ser:documentIn> <ser:remoteURL> http://help.adobe.com/en_US/livecycle/es/overview.pdf </ser:remoteURL> </ser:documentIn> </ser:invoke> </soapenv:Body> </soapenv:Envelope> |
Wenn ein LiveCycle ES-Web-Dienst einen Wert zurückgibt, ist dieser Wert eine Anlage zur SOAP-Antwortmeldung. Das Standardverhalten von LiveCycle ES-Web-Diensten besteht darin, den Wert des Ergebnisdokuments auf dem LiveCycle ES-Server zu speichern und die URL zum Dokument in der Antwortmeldung hinzuzufügen. Wenn die SOAP-Request-Message jedoch eine MIME-Anlage enthielt, verwendet die Antwort auch eine MIME-Anlage, um Dokumentwerte zurückzugeben.
Sie können das Standardverhalten überschreiben und die Methode angeben, mit der LiveCycle ES-Web-Dienste Dokument-Anlagen zurückgeben. Dateien können an SOAP-Antwortmeldungen als MIME-Anlagen, base64-kodierter Text oder mithilfe der Datei-URL angefügt werden. Um anzugeben, wie Dateien an Antwortmeldungen angehängt werden, müssen Sie einen der Werte aus der folgenden Tabelle an die Ziel-URL anfügen, die im Dialogfeld „Web-Dienst-Einstellungen“ auf der Registerkarte „Einstellungen“ angegeben ist:
Typ des Anhangs | Anzufügender Text |
base64-kodierter Text | ?blob=base64 |
MIME | ?blob=mime |
Datei-URL | ?blob=http |
Beispielsweise führt der folgende Wert für eine Ziel-URL dazu, dass der Webdienst eines Prozesses namens „echoDocument“ Dateien an SOAP-Antwortmeldungen als base64-kodierten Text anhängt:
http://localhost:8080/soap/services/echoDocument?blob=base64