A Servlet (jakarta.jws.WebService interface implementation) that handles IRIXReports and uploads them to specific servers. The actual upload is performed by IRIXBroker.
further information:
To install the webservice simply build it with:
mvn clean packageand install the packaged webapplication from:
target/irix-webservice.warin the Servlet Container of your choice.
For an actual upload to a Dokpool instance, copy the file
./src/main/webapp/WEB_INF/bfs-irixbroker.properties to this
directory, adapt it to your instance and then run:
mvn testNote that tests will not fail even without bfs-irixbroker.properties,
but you will see exceptions in the logs.
With the default configuration the servlet will be available under:
irix-webservice/upload-reportThe WSDL file can be obtained through:
irix-webservice/upload-report?wsdl- Find example IRIX-xml docs in
./examples(there are some futher example in./old_examplesthat do no longer fit to the current Dokpool XML schema). - To transform irix:Report xml-Files (e.g. as produced as output by irix-client) you can use xsltproc and the irixReport2irixwsUploadReport.xslt in ./examples Folder. Use it like this:
xsltproc -o png-pdf-test-upload.xml ../irixReport2irixwsUploadReport.xslt png-pdf-test.xml- Then send the report to the webservice:
URLPREFIX=http://localhost
curl -X POST -H "Content-Type: text/xml; charset=utf-8" \
-H 'SOAPAction:"http://irixservice.intevation.de/UploadReportInterface/uploadReportRequest"' \
--data @png-pdf-test-upload.xml $URLPREFIX/irix-webservice/upload-report- Because dokpool-client refuses to upload a Report having a UUID already imported, the id:ReportUUID....</id:ReportUUID> has to be edited in the Report, if already succesfully imported. You can do this in the transformed SOAP request xml by (replaces the first 8 hex characters by a random sequence):
sed -i "s/<id:ReportUUID>.{8}/<id:ReportUUID>$(xxd -l 4 -p /dev/urandom)/" png-pdf-test-upload.xmll