I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen eller

Relaterede dokumenter
Nye features i Java 1.7/7.0

Hvordan vælger jeg dokumentprofilen?

Geografisk lokalisering i JSP

Serialization i Java

Tredjepart webservices

Databaseadgang fra Java

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

Servlets, Tomcat & BlueJ

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

A Profile for Safety Critical Java

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.

DM01 DM Obl. Afl. Jacob Christiansen, , D12, Elias 18/ Side 1 af 11

Løsning af skyline-problemet

Google App Engine. Google App Engine som platform. Claus Myglegaard Vagner og Jacob von Eyben

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Hanne Niels Edith Harald Carsten Jørgen Henrik.

SigmaT.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

Test af It-komponent

Virkefeltsregler i Java

DM01 DM Obl. Afl. Jacob Christiansen, , D12, Elias 13/ Side 1 af 7

Forelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999

Præsentation af imastra med fokus på forskellene til kmastra.

Design Diaries.

Nye Java XML API'er

Geografisk lokalisering i ASP.NET

Datalogi OB, Efterår 2002 OH er, forelæsning 3/ forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

CodeDOM - Dynamisk generering og kompilering af kode

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java

Dag 10 Flertrådet programmering

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Ret konfiguration via kort

Computer netværk og TCP/IP protokoller. dcomnet 1

Adobe Acrobat Connect brugergrænsefladen

Zapier-integration mellem MailChimp og webcrm hos Azalea IT

Eksempel på en database: studenter, kurser, eksamener

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

Bilag 1 Rige billeder Ordremodtagelse

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

Indhold. Vejledning til ShareFile. Sådan uploader du en fil til My Files & Folders. Sådan uploader du en fil til Shared Folders

SAX Simple API for XML.

The Design Diaries Project 3 2. Semester. Blog om designprincipper

Schedulering af SAS job i MS Task Scheduler, som sender med log og statuskode ved fejl

Microsoft Outlook 2010

Assignment #5 Toolbox Contract

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU semester 11. desember 2007

Web- og serverprogrammering

Case: Zapier-integration mellem simplero og webcrm hos Videokursus

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Computer netværk og TCP/IP protokoller. dcomnet 1

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

dmasark Aflevering - Uge 50

Java Klasse nedarvninger

Løsning af møntproblemet

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal

The Design Diaries PHP projekt

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

CVS som KS-værktøj E Branching, Merging m.v.

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank

Digitaliseringsstyrelsen

Bruger- og Rettighedsstyring i Mastra

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Kom i gang med SAS STPbaserede

Java-opgraderingskursus

Det er muligt at chekce følgende opg. i CodeJudge: og

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Singleton pattern i Java

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU semester 05.januar 2007

Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

Hvad er et distribueret objekt? Plan Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Brugermanual PoP3 og Outlook Office 2003 Webmail Udarbejdet af IT-afdelingen 2005

SWC eksamens-spørgsmål. Oversigt

Opret en formular i Dreamweaver

DDElibra H Å N D B O G

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox

Digitaliseringsstyrelsen

Kursus navn: Indledende programmering Kursus nr

Forelæsning Uge 3 Mandag

Find største element, sæt det på sidste plads. Grundidé i hobsortering. er er

Indlæsning af data. Den typiske advarsel er

Brug af håndscanner Delfi Cap 72

BRP Kursusintroduktion og Java-oversigt

public Set(int size) { this.listelement = new LinkedList<Integer>(); }

Objektorienteret Programmering

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Forelæsning Uge 3 Mandag

FairSSL Fair priser fair support

Dag 10 Flertrådet programmering

Offset til terminalskærm i Java

Forelæsning Uge 3 Mandag

Transkript:

Upload fil Upload fil skal ses som et alternativ til at indsende tællefiler vedhæftet til mails Upload fil kan være en hurtigere og mere håndholdt måde at få data ind i Mastra på. Man starter med via Gennemse -knappen at vælge den eller de filer, som man vil indlæse; filerne skal ligge på et fil-drev, som er forbundet til ens PC. Vær opmærksom på, at det er tællefiler, der bliver valgt, og vælg ikke mere end 10 ad gangen. I profil-feltet kan imastra-kunder vælge om upload skal ske ligesom filerne var indsendt til mailboksen imastra@vd.dk, eller kmastra@vd.dk. I Track-id feltet kan man skrive et tal, som man efterfølgende kan bruge til at holde styr på hvor lang ens filer er nået i indlæsnings-processen. Herefter klikker man på Upload. Af tekniske årsager skal man nu logge ind i Mastra igen. Hvis man anvender Upload-faciliteten flere gange i træk, er det kun første kan man skal logge ind. Der kommer nu en boks up på skærmen, som fortæller hvordan selve indsendelsen er forløbet. Herefter kan man følge hvordan det går med den videre indlæsning i Mastra ved at søge i den nederste del af skærmbilledet.

Vis tællefilen. Rapport med ugeoversigt. Mastra udtræksbillede til rapporter. Ret konfiguration via Unikort. Bemærk at denne funktion kun er tilgængelig for tællesteder, der har status: Autooprettet. STLA 16.08.2017

Appendiks 2 Java-kode, Test-eksempel package MastrVbVWS; import java.io.file; import java.io.ioexception; import java.io.inputstream; import java.net.authenticator; import java.net.passwordauthentication; import java.util.list; * This program demonstrates a usage of the MultipartUtility class. * @author www.codejava.net * JE1 Tilrettet public class TestMutiformUploadExample { public static void main(string[] args) { String charset = "UTF-8"; File uploadfile1 = new File("c:/jetest/262C0001.DMP"); File uploadfile2 = new File("c:/jetest/504C0126.DMP"); String requesturl = "http://vdextapp160.vdext.dk/pls/mastra_upload/osa.fil_upload_pkg.fil_upload_action"; Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getpasswordauthentication() { return new PasswordAuthentication("jeudv", xxxxxxxx".tochararray()); ); try { MultipartUtility multipart = new MultipartUtility(requestURL, charset); multipart.addheaderfield("user-agent", "CodeJava"); multipart.addheaderfield("test-header", "Header-Value"); multipart.addformfield("i_track_id", "12345"); multipart.addformfield("i_profil", "kmastra"); multipart.addfilepart("i_file", uploadfile1); multipart.addfilepart("i_file", uploadfile2); List<String> response = multipart.finish(); System.out.println("SERVER REPLIED:");

for (String line : response) { System.out.println(line); catch (IOException ex) { System.err.println(ex); package MastrVbVWS; import java.io.bufferedreader; import java.io.file; import java.io.fileinputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.io.outputstream; import java.io.outputstreamwriter; import java.io.printwriter; import java.net.httpurlconnection; import java.net.url; import java.net.urlconnection; import java.util.arraylist; import java.util.list; * This utility class provides an abstraction layer for sending multipart HTTP * POST requests to a web server. * @author www.codejava.net * public class MultipartUtility { private final String boundary; private static final String LINE_FEED = "\r\n"; private HttpURLConnection httpconn; private String charset; private OutputStream outputstream; private PrintWriter writer; * This constructor initializes a new HTTP POST request with content type * is set to multipart/form-data * @param requesturl * @param charset * @throws IOException public MultipartUtility(String requesturl, String charset) throws IOException { this.charset = charset;

// creates a unique boundary based on time stamp boundary = "===" + System.currentTimeMillis() + "==="; URL url = new URL(requestURL); httpconn = (HttpURLConnection) url.openconnection(); httpconn.setusecaches(false); httpconn.setdooutput(true); // indicates POST method httpconn.setdoinput(true); httpconn.setrequestproperty("content-type", "multipart/form-data; boundary=" + boundary); httpconn.setrequestproperty("user-agent", "CodeJava Agent"); httpconn.setrequestproperty("test", "Bonjour"); outputstream = httpconn.getoutputstream(); writer = new PrintWriter(new OutputStreamWriter(outputStream, charset), true); * Adds a form field to the request * @param name field name * @param value field value public void addformfield(string name, String value) { writer.append("--" + boundary).append(line_feed); writer.append("content-disposition: form-data; name=\"" + name + "\"").append(line_feed); writer.append("content-type: text/plain; charset=" + charset).append( LINE_FEED); writer.append(line_feed); writer.append(value).append(line_feed); * Adds a upload file section to the request * @param fieldname name attribute in <input type="file" name="..." /> * @param uploadfile a File to be uploaded * @throws IOException public void addfilepart(string fieldname, File uploadfile) throws IOException { String filename = uploadfile.getname(); writer.append("--" + boundary).append(line_feed); writer.append( "Content-Disposition: form-data; name=\"" + fieldname + "\"; filename=\"" + filename + "\"").append(line_feed); writer.append( "Content-Type: " + URLConnection.guessContentTypeFromName(fileName))

.append(line_feed); writer.append("content-transfer-encoding: binary").append(line_feed); writer.append(line_feed); FileInputStream inputstream = new FileInputStream(uploadFile); byte[] buffer = new byte[4096]; int bytesread = -1; while ((bytesread = inputstream.read(buffer))!= -1) { outputstream.write(buffer, 0, bytesread); outputstream.flush(); inputstream.close(); writer.append(line_feed); * Adds a header field to the request. * @param name - name of the header field * @param value - value of the header field public void addheaderfield(string name, String value) { writer.append(name + ": " + value).append(line_feed); * Completes the request and receives response from the server. * @return a list of Strings as response in case the server returned * status OK, otherwise an exception is thrown. * @throws IOException public List<String> finish() throws IOException { List<String> response = new ArrayList<String>(); writer.append(line_feed).flush(); writer.append("--" + boundary + "--").append(line_feed); writer.close(); // checks server's status code first int status = httpconn.getresponsecode(); if (status!= HttpURLConnection.HTTP_OK) { throw new IOException("Server returned non-ok status: " + status); else { BufferedReader reader; reader = new BufferedReader(new InputStreamReader( httpconn.getinputstream())); String line = null; while ((line = reader.readline())!= null) {

response.add(line); reader.close(); httpconn.disconnect(); return response;