Hallo ich will meine eingelesene Xml schreiben. Diese kann aber nicht erzeugt werden da der http vlient den ich benutze am anfang seine daten mitüberträgt und diese gehören nicht in die xml. Folgendes wird mitübertragen weshalb meine xml nicht erzeugt wird:
mein java code
HTML:
HTTP/1.1 200 OKDate: Mon, 20 Jun 2011 14:55:35 GMTServer: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/0.9.8a mod_jk/1.2.30Vary: Accept-EncodingConnection: closeContent-Type: text/xml;charset=utf-8
mein java code
Java:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
public class Connector {
private static String startDatum;
private static String endDatum;
static String data;
public Connector(String start, String ende) {
Connector.startDatum = start;
Connector.endDatum = ende;
try {
bauen();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public void bauen() throws UnknownHostException, IOException {
System.out.println("XML");
data = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soap:Body> <getMessungenAktuell xmlns=\"http://pegelonline.wsv.de/webservices/version2_3/2007/10/31\"> <parameterName>WASSERSTAND ROHDATEN</parameterName> <messstellenNummern></messstellenNummern> <messstellenNamen>FRANKFURT OSTHAFEN</messstellenNamen> <start>" +
"" +
startDatum +
"</start> <ende>" +
endDatum + //format: 2011-06-17T10:00:00.00
"</ende> </getMessungenAktuell> </soap:Body></soap:Envelope>";
System.out.println(data);
String hostname = "www.pegelonline.wsv.de";
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
System.out.println(addr.toString());
Socket socket = new Socket(addr, port);
String path = "/webservices/version2_3/2007/10/31/PegelonlineWebservice";
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
System.out.println("Writer");
wr.write("POST " + path + " HTTP/1.0\r\n");
wr.write("Content-Length: " + data.length() + "\r\n");
wr.write("Content-Type: text/plain; charset=UTF-8\r\n");
wr.write("SOAPAction: getMessungenAktuell\r\n");
wr.write("\r\n");
wr.write(data);
wr.flush();
System.out.println("Write");
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("datei.xml")));
BufferedWriter bw = new BufferedWriter(new FileWriter("response.xml"));
while ((line = rd.readLine()) != null) {
bw.write(line);
//System.out.println(line);
}
//System.out.println("While");
bw.close();
wr.close();
rd.close();
socket.close();
}
public static String getStartDatum() {
return startDatum;
}
public void setStartDatum(String startDatum) {
this.startDatum = startDatum;
}
public static String getEndDatum() {
return endDatum;
}
public void setEndDatum(String endDatum) {
this.endDatum = endDatum;
}
}