CIB documentServer technischer Leitfaden (DE)
Anhang
Überblick CIB Module
Beispielaufruf SOAP Webservice mit VB.net
Beispielaufruf SOAP Webservice mit C#
Beispiel für einen XML request
Beispiel für eine XML response
Fehlercodes der Socketserver
Fehlercodes des CIB documentserver
Fehlercodes des Servermanagers
WSDL Webservice Description
Überblick CIB Module
Komponente |
Softwareumfang |
|
CIB job
|
WIN32 |
|
CibJob32.dll |
CIB Job-DLL für WIN32, Schnittstelle zur Anwendung |
|
CibJob32.lib |
Library für CIB job |
|
CibJob.h |
Includedatei für CIB job |
|
CoMod.h |
Allgemeine Includedatei für CoMod Module |
|
Linux/Unix |
||
libcibjobux.so |
shared library für Unix(e) |
|
libcibjobux.sl |
shared library für HP Ux |
|
CIB merge
|
WIN32 |
|
cibmrg32.dll |
CIB merge-DLL für Win32, Schnittstelle zur Anwendung |
|
Linux/Unix |
||
libcibmrgux.so |
shared library für unix Plattformen |
|
libcibchart.so |
loader für CIB chart |
|
libcibscan.so |
|
|
libzlib.so |
|
|
libgcc_s.so |
|
|
libstdc++.so.6 |
|
|
CIB format/output
|
WIN32 |
|
CibPrt32.dll |
CIB format/output-DLL für WIN32, Schnittstelle zur Anwendung |
|
Unix |
||
libcibprtux.so |
shared library für Unix(e) |
|
libcibprtux.sl |
shared library für HP Ux |
|
CIB pdf toolbox
|
CibPdf32.dll |
CIB pdf toolbox-DLL für Win32, Schnittstelle zur Anwendung |
CibPdf32.lib |
Library zur CIB pdf toolbox |
|
CibPdf32.h |
Include Datei zur CIB pdf toolbox |
|
libcibpdfux.so |
CIB pdf toolbox shared library für diverse Unix Systeme |
|
libcibpdfux.sl |
CIB pdf toolbox shared library für HP Unix Systeme |
|
CIB mail
|
WIN32 |
|
CibMail32.dll |
CIB mail-DLL für WIN32, Schnittstelle zur Anwendung |
|
CibMail32.lib |
Library für CIB mail |
|
CibMail.h |
Includedatei für CIB mail |
|
CoMod.h |
Allgemeine Includedatei für CoMod Module |
|
Unix |
||
libcibmailux.so |
shared library für Unix(e) |
|
libcibmailux.sl |
shared library für HP Ux |
|
CibDataCsv.dll |
Zugriffs Dll für Csv Daten |
|
CibDataXml.dll |
Zugriffs Dll für Xml Daten |
|
CIBCache.dll |
Tool Dll |
|
Xalan-C_1_5_0.dll |
Tool Dll Xml |
|
xerces-c_2_2_0.dll |
Tool Dll Xml |
|
CIB
runshell |
WIN32 |
|
cibrsh.exe |
CIB runshell, Kommandozeilenshell WIN32 |
|
Unix |
||
cibrshux |
CIB runshell, Kommandozeilenshell für Unix(e) |
|
Beispiele
|
jobs/basic |
Beispiele für Kommandos (erkennbar über Namen) |
jobs/customer |
Echte Aufträge der CIB documentServer Kunden (anonymisiert) |
|
jobs/examples |
Allg. Beispiele fachlicher Art |
|
jobs/soap |
Beispiele für Webservice-Aufträge |
|
jobs/stylesheet |
Beispiele für Namespaces und Schemas |
|
templates |
Rtf- und Pdf-Vorlage für die Beispiel- |
Beispielaufruf SOAP Webservice mit VB.net
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim service As New de.cib.docserv.web.CibDocumentServer
Dim request As New de.cib.docserv.web.Request
Dim comodtype As New de.cib.docserv.web.ComodType
Dim testjob As New de.cib.docserv.web.JobType
Dim testjobs As New de.cib.docserv.web.JobsType
Dim formatStep As New de.cib.docserv.web.StepType
Dim formatProps(1) As de.cib.docserv.web.PropertyType
Dim stepArray(2) As de.cib.docserv.web.StepType
Dim comodArray(1) As Object
Dim jobsArray(1) As de.cib.docserv.web.JobType
Dim mergeStep As New de.cib.docserv.web.StepType
Dim mergeProps(4) As de.cib.docserv.web.PropertyType
mergeStep.name = "step1"
mergeStep.command = "merge"
mergeStep.properties = New de.cib.docserv.web.PropertiesType()
mergeStep.properties.property = mergeProps
mergeStep.properties.property(0) = New de.cib.docserv.web.PropertyType()
mergeStep.properties.property(0).name = "-i"
mergeStep.properties.property(0).Value = "Test.rtf"
mergeStep.properties.property(1) = New de.cib.docserv.web.PropertyType()
mergeStep.properties.property(1).name = "-h"
mergeStep.properties.property(1).Value = "XML:$(inline)"
mergeStep.properties.property(2) = New de.cib.docserv.web.PropertyType()
mergeStep.properties.property(2).name = "-d"
mergeStep.properties.property(2).Value = "//Data/Person"
mergeStep.properties.property(3) = New de.cib.docserv.web.PropertyType()
mergeStep.properties.property(3).name = "-l"
mergeStep.properties.property(3).Value = "!merge.log"
mergeStep.trace = "merge.log"
formatStep.name = "step2"
formatStep.command = "format"
formatStep.properties = New de.cib.docserv.web.PropertiesType()
formatStep.properties.property = formatProps
formatStep.properties.property(0) = New de.cib.docserv.web.PropertyType()
formatStep.properties.property(0).name = "OutputFormat"
formatStep.properties.property(0).Value = "FormatPdf"
testjob.steps = stepArray
testjob.steps(0) = mergeStep
testjob.steps(1) = formatStep
comodtype.Items = comodArray
testjobs.job = jobsArray
testjobs.job(0) = testjob
comodtype.Items(0) = testjobs
comodtype.producer = "VB.net"
request.Comod = comodtype
Dim XmlString As String = "<Person><Vorname>Otto</Vorname><Name>Krause</Name><Strasse>Musterstrasse</Strasse>
<Nummer>1</Nummer><PLZ>12345</PLZ><Ort>Musterstadt</Ort></Person>"
Dim xmldata As New System.Xml.XmlDocument
xmldata.LoadXml(XmlString)
request.Data = xmldata.DocumentElement
Dim response As de.cib.docserv.web.Response
response = service.generate(request)
Dim jobResults As de.cib.docserv.web.JobResultsType
jobResults = CType(response.Comod.Items(0), de.cib.docserv.web.JobResultsType)
If (jobResults.jobresult(0).jobresultcode = 0) Then
' Success
Dim stepData As de.cib.docserv.web.StepDataType
stepData = jobResults.jobresult(0).stepresults(1).stepdata
Debug.Print(stepData.mimetype)
Debug.Print(stepData.encoding)
' TODO: Extract base64 encoded pdf from here: stepData.Value
Else
' A step failed
Debug.Print("Error " & jobResults.jobresult(0).jobresultcode & ": " _
& jobResults.jobresult(0).jobresulttext)
Debug.Print("Failed step(s): " _
& jobResults.jobresult(0).failed(0).name)
' TODO loop step results to find error code of failed step.
' TODO in case of merge extract content of trace property
End If
End Sub
End Class
Beispielaufruf SOAP Webservice mit C#
using Webservice2.de.cib.docserv.web;
…
private void button1_Click(object sender, EventArgs e)
{
CibDocumentServer service = new CibDocumentServer();
Request request = new Request();
StepType mergeStep = new StepType();
StepType formatStep = new StepType();
ComodType comodtype = new ComodType();
JobsType testjobs = new JobsType();
JobType testjob = new JobType();
PropertyType[] formatProps = new PropertyType[1];
StepType[] stepArray = new StepType[2];
Object[] comodArray = new Object[1];
JobType[] jobsArray = new JobType[1];
PropertyType[] mergeProps = new PropertyType[4];
mergeStep.name = "step1";
mergeStep.command = "merge";
mergeStep.properties = new PropertiesType();
mergeStep.properties.property = mergeProps;
mergeStep.properties.property[0] = new PropertyType();
mergeStep.properties.property[0].name = "-i";
mergeStep.properties.property[0].Value = "Test.rtf";
mergeStep.properties.property[1] = new PropertyType();
mergeStep.properties.property[1].name = "-h";
mergeStep.properties.property[1].Value = "XML:$(inline)";
mergeStep.properties.property[2] = new PropertyType();
mergeStep.properties.property[2].name = "-d";
mergeStep.properties.property[2].Value = "//Data/Person";
mergeStep.properties.property[3] = new PropertyType();
mergeStep.properties.property[3].name = "-l";
mergeStep.properties.property[3].Value = "!merge.log";
mergeStep.trace = "merge.log";
formatStep.name = "step2";
formatStep.command = "format";
formatStep.properties = new PropertiesType();
formatStep.properties.property = formatProps;
formatStep.properties.property[0] = new PropertyType();
formatStep.properties.property[0].name = "OutputFormat";
formatStep.properties.property[0].Value = "FormatPdf";
testjob.steps = stepArray;
testjob.steps[0] = mergeStep;
testjob.steps[1] = formatStep;
comodtype.Items = comodArray;
testjobs.job = jobsArray;
testjobs.job[0] = testjob;
comodtype.Items[0] = testjobs;
comodtype.producer = "C#.net";
request.Comod = comodtype;
String xmlString = "<Person><Vorname>Otto</Vorname><Name>Krause</Name><Strasse>Musterstrasse</Strasse>
<Nummer>1</Nummer><PLZ>12345</PLZ><Ort>Musterstadt</Ort></Person>";
System.Xml.XmlDocument xmldata = new System.Xml.XmlDocument();
xmldata.LoadXml(xmlString);
request.Data = xmldata.DocumentElement;
Response response = service.generate(request);
JobResultsType jobResults = (JobResultsType)response.Comod.Items[0];
if (jobResults.jobresult[0].jobresultcode == 0) {
// Success
StepDataType stepData = jobResults.jobresult[0].stepresults[1].stepdata;
System.Console.Out.WriteLine(stepData.mimetype);
System.Console.Out.WriteLine(stepData.encoding);
// TODO: Extract base64 encoded pdf from here: stepData.Value
}
else {
// A step failed
System.Console.Out.WriteLine("Error " + jobResults.jobresult[0].jobresultcode + ": "
+ jobResults.jobresult[0].jobresulttext);
System.Console.Out.WriteLine("Failed step(s): "
+ jobResults.jobresult[0].failed[0].name);
// TODO loop step results to find error code of failed step.
// TODO in case of merge extract content of trace property
}
}
Beispiel für einen XML request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<Generate xmlns="http://www.cib.de/schemas/soap/job/1.1">
<Comod xmlns="">
<producer>VB.net</producer>
<jobs>
<job>
<steps>
<step name="step1" command="merge">
<properties>
<property name="-i">
Test.rtf
</property>
<property name="-h">
XML:$(inline)
</property>
<property name="-d">
//Data/Person
</property>
<property name="-l">
!merge.log
</property>
</properties>
<trace>merge.log</trace>
</step>
<step name="step2" command="format">
<properties>
<property name="OutputFormat">
FormatPdf
</property>
</properties>
</step>
</steps>
</job>
</jobs>
</Comod>
<Data xmlns="">
<Person>
<Vorname>Otto</Vorname>
<Name>Krause</Name>
<Strasse>Musterstrasse</Strasse>
<Nummer>1</Nummer>
<PLZ>12345</PLZ>
<Ort>Musterstadt</Ort>
</Person>
</Data>
</Generate>
</soap:Body>
</soap:Envelope>
Beispiel für eine XML response
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.cib.de/schemas/job/1.1 http://www.cib.de/schemas/job/1.1/cibjob.xsd
http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/
http://www.cib.de/schemas/soap/job/1.1 http://www.cib.de/schemas/soap/job/1.1/cibjobsoap.xsd
">
<soap:Body>
<cibjobsoap:GenerateResult
xmlns:cibjobsoap="http://www.cib.de/schemas/soap/job/1.1">
<Comod xmlns="">
<!--CIB job Ausgabe 07.11.2007 10:01:15 -->
<version>1.1</version>
<producer>CIB job 1.3.12b</producer>
<job-results>
<job-result name="">
<job-result-code>0</job-result-code>
<job-result-text>Erfolgreich</job-result-text>
<job-timing>0:00:00,156</job-timing>
<!--Liste aller Ergebnisse-->
<step-results>
<!-- step1 -->
<step-result name="step1">
<step-result-code>0</step-result-code>
<step-result-text>
Erfolgreich
</step-result-text>
<step-timing>0:00:00,015</step-timing>
</step-result>
<!-- step2 -->
<step-result name="step2">
<step-result-code>0</step-result-code>
<step-result-text>
Erfolgreich
</step-result-text>
<step-timing>0:00:00,141</step-timing>
<step-data encoding="base64"
mimetype="application/pdf">
JVBERi0xLjQNCiXi48/TCjYgMCBvYmoKPDwKL0xlbmd0aCA3IDAgUgovRmls
dGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJydjb0KwjAQgPc8xY26nLkk
bdNRQR1EBMkLVJsKDgpJiuDTmx+qs70b7rif7yOgmO7GKDfnPdsYxiFlHK52
HEggBzMwjjwGmCujVN7xyrh49mINR11BU7WpmB4W64u3j966JZg725qE/Isk
BYpCOoXwhIwRCqWC9JoXB9eN3s4VkEZVBMfRB+t8cJ33tphqja3+mWiuhCus
i4SEjLrMkTJxv/BJ3/Vh0nwAR/BbawplbmRzdHJlYW0KZW5kb2JqCjcgMCBv
YmoKMTc1DQplbmRvYmoKNSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50
IDMgMCBSCi9NZWRpYUJveCBbMCAwIDU5NSA4NDJdCi9SZXNvdXJjZXMgOSAw
IFIKL0NvbnRlbnRzIFs2IDAgUiBdCj4+CmVuZG9iago0IDAgb2JqCjw8Ci9U
eXBlIC9DYXRhbG9nCi9QYWdlcyAzIDAgUgo+PgplbmRvYmoKMTAgMCBvYmoK
PDwNCi9Qcm9kdWNlciAoQ0lCIGZvcm1hdC9wZGYgNS4zLjIwMyAtIHd3dy5j
aWIuZGUpCi9BdXRob3IgKEhvbGdlcikKL1RpdGxlIChBYnNlbmRlcikKL0Ny
ZWF0aW9uRGF0ZSAoRDoyMDA3MTEwNzEwMDExNSswMScwMCcpCi9Nb2REYXRl
IChEOjIwMDcxMTA3MTAwMTE1KzAxJzAwJykKPj4KZW5kb2JqCjEgMCBvYmoK
PDwgL0YwIDggMCBSID4+CmVuZG9iago5IDAgb2JqCjw8L0ZvbnQgMSAwIFIg
IC9Qcm9jU2V0IFsvUERGL1RleHRdID4+CmVuZG9iagozIDAgb2JqCjw8Ci9U
eXBlL1BhZ2VzCi9Db3VudCAxCi9LaWRzIFsgNSAwIFIgXQo+PgplbmRvYmoK
OCAwIG9iago8PAovVHlwZS9Gb250Ci9TdWJ0eXBlL1RydWVUeXBlCi9OYW1l
L0YwCi9CYXNlRm9udC9UaW1lc05ld1JvbWFuUFNNVAovRW5jb2RpbmcvV2lu
QW5zaUVuY29kaW5nCi9GaXJzdENoYXIgMzIKL0xhc3RDaGFyIDExNwovV2lk
dGhzIFsgMjUwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTAw
IDUwMCA1MDAgNTAwIDUwMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNzIyIDAg
MCAwIDAgMCAwIDAgMCAwIDcyMiAwIDg4OSAwIDcyMiAwIDAgMCAwIDAgMCAw
IDAgMCAwIDAgMCAwIDAgMCAwIDAgNDQ0IDUwMCAwIDUwMCA0NDQgMCAwIDAg
MCAwIDAgMCAwIDUwMCA1MDAgMCAwIDMzMyAzODkgMjc4IDUwMCBdCi9Gb250
RGVzY3JpcHRvciAxMSAwIFIKPj4KZW5kb2JqCjExIDAgb2JqCjw8Ci9UeXBl
L0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZS9UaW1lc05ld1JvbWFuUFNNVAov
RmxhZ3MgMzQvRm9udEJCb3ggWy03NiAtMjE2IDEwMDkgOTMzXQovQXNjZW50
IDg5MS9EZXNjZW50IC0yMTYKL0l0YWxpY0FuZ2xlIDAvQ2FwSGVpZ2h0IDEy
MDAvU3RlbVYgODAKPj4KZW5kb2JqCnhyZWYNCjAgMTINCjAwMDAwMDAwMDIg
NjU1MzUgZg0KMDAwMDAwMDYyMiAwMDAwMCBuDQowMDAwMDAwMDAwIDAwMDAw
IGYNCjAwMDAwMDA3MDcgMDAwMDAgbg0KMDAwMDAwMDM5MiAwMDAwMCBuDQow
MDAwMDAwMjg1IDAwMDAwIG4NCjAwMDAwMDAwMTYgMDAwMDAgbg0KMDAwMDAw
MDI2NSAwMDAwMCBuDQowMDAwMDAwNzY1IDAwMDAwIG4NCjAwMDAwMDA2NTMg
MDAwMDAgbg0KMDAwMDAwMDQ0MSAwMDAwMCBuDQowMDAwMDAxMTUzIDAwMDAw
IG4NCnRyYWlsZXIKPDwNCi9TaXplIDEyCi9Sb290IDQgMCBSCi9JbmZvIDEw
IDAgUgovSURbPGY4ZDVmNjA1YjEzNjBiMGRmZmVjZjg2YWU1ZGVhMmFhPjxm
OGQ1ZjYwNWIxMzYwYjBkZmZlY2Y4NmFlNWRlYTJhYT5dCj4+CnN0YXJ0eHJl
ZgoxMzI3CiUlRU9GCg==
</step-data>
</step-result>
</step-results>
</job-result>
</job-results>
</Comod>
</cibjobsoap:GenerateResult>
</soap:Body>
</soap:Envelope>
Fehlercodes der Socketserver
Nachfolgende Aufstellung gibt eine Übersicht über mögliche Fehlerrückgaben durch den Socketserver.
Die Fehlernummern haben folgende Bedeutung:
Rückgabewert |
Beschreibung der Rückgabewerte |
414 |
SocketServer hat sich beendet, da die maximale Ausführungszeit überschritten wurde. Siehe de.cib.docserv.job.MaxJobExecutionTime |
440 |
SocketServer hat Terminierungssignal empfangen (TERMINATIONMESSAGE) |
441 |
SocketServer: Zu wenig oder keine Argumente (NOARGUMENTS) |
442 |
SocketServer: Nicht zulässige Portnummer (INVALIDPORT) |
443 |
SocketServer: CIB Job Library nicht verfügbar (JOBLIBRARYNOTAVAILABLE) |
444 |
SocketServer: Ungültiger Content-Type (INVALIDCONTENTTYPE) |
445 |
SocketServer: allgemeiner Fehler mit Beschreibung (EXCEPTION). Zum Beispiel ein Socket Timeout aufgrund zu langer Bearbeitungszeit, oder andere Socket-Fehler. |
446 |
SocketServer: allgemeiner Fehler (UNEXPECTEDEXCEPTION) |
447 |
SocketServer: Die Url im http-Header ist ungültig. Erlaubt sind /job und /terminate (INVALIDREQUESTURL) |
448 |
SocketServer: Aufgrund der Leerlaufzeit (“IdleShutdownTime“) hat sich der SocketServer beendet. |
454 |
SocketServer: Maximaler Arbeitsspeicher erreicht. Siehe de.cib.docserv.socket.MaxMemory. |
458 |
SocketServer: Maximaler Arbeitsspeicher erreicht. Fehler bei der Allokation („malloc()“). Siehe de.cib.docserv.socket.MaxMemory. |
459 |
SocketServer: Maximaler Arbeitsspeicher erreicht. Fehler bei der Allokation („new“). Siehe de.cib.docserv.socket.MaxMemory. |
457 |
SocketServer soll (re)konfiguriert werden (CONFIGURATIONMESSAGE) |
Hinweis: Unter Unix/Linux kann es passieren, dass Fehlercodes um ein Vielfaches von 256 verschoben ausgegeben werden.
Bsp: Der Rückgabewert 440 wird somit als 184 bzw. sogar als -72 ausgegeben.
Fehlercodes des CIB documentserver
Rückgabewert |
Beschreibung der Rückgabewerte |
401 |
Job: Fehler beim XML-Parsen. Alle Xercesfehler (XMLPARSER) |
402 |
Job: Nicht implementiert (NOTIMPLEMENTED) |
403 |
Job: Interner Fehler (INTERNALPROGRAMERROR) |
404 |
Job: Es wurde ein Fehler von einem Ausführungsschritt gemeldet (JOBEXECUTIONFAILED) |
405 |
Job: Leere Eingabe (INPUTFILEEMPTY) |
406 |
Job: Die Angaben zu einem Job oder Step sind fehlerhaft. (INVALIDJOB) |
409 |
Job: Keine Eingabe (NOINPUTFILE) |
410 |
|
411 |
Job: Ein Schritt wurde aufgrund eines vorhergehenden Fehlers gar nicht erst ausgeführt (STEPNOTEXECUTED) |
412 |
Job: Maximale Ausführungszeit überschritten. Siehe de.cib.docserv.job.MaxJobExecutionTime |
413 |
Job: Maximale Ausführungszeit überschritten. Siehe de.cib.docserv.job.MaxJobExecutionTime |
414 |
Job: Maximale Ausführungszeit überschritten. Siehe de.cib.docserv.job.MaxJobExecutionTime |
415 |
Job: Reserviert |
433 |
Java: Der SocketServer hängt wegen eines allgemeinen Resourceproblems (z.B maximaler Speicher des Betriebsystems überschritten). Der SocketServer wird automatisch neugestartet nachdem der SocketTimeout überschritten wird. Siehe de.cib.docserv.job.SocketTimeout |
434 |
Java: Keine Antwort vom Socketserver nachdem die in der Property SocketTimeout angegebene Zeit überschritten wurde. Der SocketServer wird automatisch neugestartet. Siehe de.cib.docserv.job.SocketTimeout Dieser Returncode wird ab Version 1.15.8 nicht mehr verwendet. Es wird der Returncode 439 geliefert. |
435 |
Java: Exitcode of natives could not be read (NOEXITCODE) |
436 |
Java: DocumentServer: no asynchronous job result available after several tries (ASYNCRESULTMISSING) |
437 |
Java: General exception (GENERALEXCEPTION) |
438 |
Java: No server available (NOSERVER) |
439 |
Java: Timeout when reading from native socket (TIMEOUT) |
|
LibreOffice-Konverter: |
1000 |
ungültige Lizenz (wird nicht unterstützt) |
1001 |
LibreOffice konnte nicht geladen werden |
1002 |
unbekannter Fehler (wird noch nicht unterstützt) |
1003 |
allgemeiner I/O-Fehler (wird noch nicht unterstützt) |
1004 |
Fehler beim Laden des InputFiles |
1005 |
Fehler beim Speichern des OutputFiles |
1006 |
ungültiger Parameter |
Fehlercodes des Servermanagers
Rückgabewert |
Beschreibung der Rückgabewerte |
450 |
ServerManager hat Terminierungssignal empfangen (TERMINATIONSIGNAL) |
451 |
ServerManager: Zu wenig oder keine Argumente (NOARGUMENTS) |
452 |
ServerManager: Falsches Argument (INVALIDARGUMENT) |
453 |
ServerManager: Nicht zulässige Portnummer (INVALIDPORT) |
454 |
Reserviert |
455 |
Servermanager: allgemeiner Fehler mit Beschreibung (EXCEPTION) |
456 |
Servermanager: allgemeiner Fehler (UNEXPECTEDEXCEPTION) |
WSDL Webservice Description
In diesem Abschnitt ist die WSDL-Datei für die SOAP-Schnittstelle abgebildet.
Die aktuelle Fassung kann jederzeit bezogen werden unter http://www.cib.de/schemas/soap/job/1.1/CibDocumentServer.wsdl .
<?xml version="1.0" encoding="UTF-8"?>
<!--
CIB job/SOAP XML Schema/WSDL 1.1 für CIB job ab Version 1.4.x.
(c) CIB software GmbH 2005-2006
$Revision: 2 $
EINFÜHRUNG:
Dieses Schema beschreibt formal die XML Struktur des SOAP-Envelope, in das
CIB job Auftragsdateien sowie Auftragsergebnisdateien eingebettet werden.
BEISPIEL:
Eine SOAP-Message, um die Operation "generate" auszuführen, enthält außer dem
Envelope ein Element "Generate", das die Knoten "Comod" und "Data" enthält.
Die Namespaces sind weggelassen.
<envelope>
<header/>
<body>
<Generate>
<Comod>
<jobs>...</jobs>
</Comod>
<Data>...</Data>
</Generate>
</body>
</envelope>
Und die Antwort:
<envelope>
<header/>
<body>
<GenerateResult>
<Comod>
<job-results>...</job-results>
</Comod>
</GenerateResult>
</body>
</envelope>
$Header: /CIB documentserver/jobs/soap/cibjob.wsdl 2 7.08.06 12:15 Georg $
-->
<wsdl:definitions name="CibDocumentServer"
targetNamespace="http://www.cib.de/schemas/soap/job/1.1"
xmlns:soapjob="http://www.cib.de/schemas/soap/job/1.1"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- Definiere Typen für die Messages -->
<wsdl:types>
<xsd:schema
targetNamespace="http://www.cib.de/schemas/soap/job/1.1"
xmlns:pref="http://www.cib.de/schemas/job/1.1">
<!-- Importiere die cibjob-Syntax -->
<xsd:import namespace="http://www.cib.de/schemas/job/1.1"
schemaLocation="http://www.cib.de/schemas/job/1.1/cibjob.xsd">
</xsd:import>
<!-- Definiere die Struktur der Messages -->
<xsd:complexType name="Request">
<xsd:sequence>
<xsd:element name="Comod" type="pref:ComodType">
</xsd:element>
<xsd:element name="Data" type="pref:UserData"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Response">
<xsd:sequence>
<xsd:element name="Comod" type="pref:ComodType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- Diese beiden Elementnamen treten im Body von Request bzw.
Response auf, und haben jeweils ein Comod-Element. -->
<xsd:element name="Generate" type="soapjob:Request" />
<xsd:element name="GenerateResult" type="soapjob:Response" />
</xsd:schema>
</wsdl:types>
<!-- Messages der nachher beschriebenen Operation deklarieren. -->
<wsdl:message name="generateMessage">
<wsdl:part name="parameter"
element="soapjob:Generate" />
</wsdl:message>
<wsdl:message name="generateResultMessage">
<wsdl:part name="parameter"
element="soapjob:GenerateResult" />
</wsdl:message>
<!-- Operation abstrakt deklarieren -->
<wsdl:portType name="cibjobInterface">
<wsdl:operation name="generate">
<wsdl:input message="soapjob:generateMessage" />
<wsdl:output message="soapjob:generateResultMessage" />
</wsdl:operation>
</wsdl:portType>
<!-- Operation konkret deklarieren. Wegen use="literal" werden in den SOAP-
Messages die den Messages zugeordneten Elemente (Generate und ~Result) erwartet. -->
<wsdl:binding name="cibjobBinding" type="soapjob:cibjobInterface">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="generate">
<soap:operation
soapAction="http://www.cib.de/soap/job/generate" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- Deklariere den Service zu den konkreten Operationen -->
<wsdl:service name="CibDocumentServer">
<wsdl:port binding="soapjob:cibjobBinding"
name="cibjobService">
<!-- Die implementierende Adresse -->
<soap:address location="http://desiderata:8080/CibDocumentServer/soap/Generate" />
</wsdl:port>
</wsdl:service>