Hejsan! Hej Jens,Felkod i reponsen från postad xml?
Jag sätter upp en xml-ström som jag sedan postar iväg till en web-service. Jag skapar en requestfil (iilogin_in.xml) som sedna postas. Jag får sedan tillbaka en response-fil (iilogin_out.xml) som jag läser och presenterar i webbläsaren. Dett nygger ju på att servern är uppe och går. Hur gör jag(skriver) för att läsa eventuell felkod och var lägger jag in den kontrollen? Se koden nedan. Vädligt tacksam för svar!
Mvh Jens
//...Skriv ner dokumentet...
//Skapa en tempfil
File fileRequest = File.createTempFile("iilogin_in", ".xml");
fileRequest.deleteOnExit();
//Skapa en dataström
PrintWriter streamRequest = new PrintWriter(new FileOutputStream(fileRequest.getPath()));
// Skapa en formatterare
OutputFormat outf = new OutputFormat(doc,"ISO-8859-1", true);
// Skapa en serializer
XMLSerializer serializer = new XMLSerializer(streamRequest, outf);
// Skriv ut
serializer.serialize(doc);
//Stäng
streamRequest.close();
//Gör anropet till webservice'n
URL urlRequest;
URLConnection connRequest;
PrintWriter myoutputstrm;
String strUrl = InterInfo.GetSetting("InterInfoLoginWebServiceCmd", SettingsFile);
urlRequest = new URL(strUrl);
connRequest=urlRequest.openConnection();
connRequest.setDoOutput(true);
//Skriv filen till webservicen
String line;
if (debug.equals("yes")) out.print("<P>Requestfile: "+fileRequest.getPath()+"<BR>");
BufferedReader br2 = new BufferedReader (new FileReader(fileRequest.getPath()));
myoutputstrm = new PrintWriter(connRequest.getOutputStream());
while((line = br2.readLine()) != null)
{
myoutputstrm.println(line);
if (debug.equals("yes")) out.print(HTMLEncode.encode(line)+"<BR>");
}
myoutputstrm.println("");
connRequest.connect();
myoutputstrm.close();
br2.close();
//Läs svarsxml'en från webservicen och skriv ner den till svarsfilen
File fileReply = File.createTempFile("iilogin_out", ".xml");
fileReply.deleteOnExit();
//Skapa en dataström
PrintWriter streamName2 = new PrintWriter(new FileOutputStream(fileReply.getPath()));
if (debug.equals("yes")) out.print("<P>Replyfile: "+fileReply.getPath()+"<BR>");
BufferedReader br3 = new BufferedReader(new InputStreamReader(connRequest.getInputStream()));
while((line = br3.readLine()) != null)
{
if (debug.equals("yes")) out.print(HTMLEncode.encode(line)+"<BR>");
streamName2.println(line);
}
streamName2.close();
br3.close();
String xmlFile = fileReply.getPath();
DOMParser parser = new DOMParser();
parser.parse(xmlFile);
Document document = parser.getDocument();Sv: Felkod i reponsen från postad xml?
Uppskattar om du använder < code java> </ code> blocken på koden som du postar så blir det så mycket enklare för oss andra att läsa. Nu gjorde jag koderna med ett extra space där ibörjan som du säkert ser men jag tror du fattar :-) . Tack.
Sedan till din fråga:
Du bör läsa på vad try och catch-block är. Sun har tutorials för detta som jag tycker du bör läsa igenom.
Här är adressen till tutorialen: http://java.sun.com/docs/books/tutorial/essential/exceptions/handling.html
Om du börjar med det och inte får riktigt till det så är det bara säga till i denna tråd igen så fortsätter vi med ditt problem.
mvh