Dear Christian,
I am really thankful for your attention, I wrote some jsp pages with servlets to read from and write on the data base using REST webservice it works when I run a query that read a data, but it does not work when I run a query to insert a node:
public boolean insert(Vector<String> values) throws BaseXException { Enumeration elnum = elems.elements(); Enumeration valenum = values.elements(); String elem; String val; String st = " insert node <" + parentElem + "> "; String res; String user="admin"; String pass="admin"; String encoded=Base64.encode(user+":"+pass); while (elnum.hasMoreElements()) { elem = elnum.nextElement().toString(); val = valenum.nextElement().toString(); st = st + " <" + elem + ">" + val + "</" + elem + "> "; } st = st + "</" + parentElem + ">" + " into //elib/" + tableName;
res="<query xmlns='http://basex.org/rest'>\n"+ " <text>"+st+"</text>\n"+ " <parameter name='wrap' value='yes'/>\n" + "</query>"; // the res would be : // <query xmlns='http://basex.org/rest'> // <text> insert node <user> <name>khaledRefai</name> // //<username>khaled89</username> //<password>khaled</password> </user> //into //elib/users</text> // <parameter name='wrap' value='yes'/> //</query> try { conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/xml"); conn.setRequestProperty("Authorization", "Basic " + encoded);
out = conn.getOutputStream(); out.write(res.getBytes("UTF-8")); out.close(); int code = conn.getResponseCode(); System.out.println(conn.getResponseMessage()); //it print "Bad Request" if(code==200) return true; else return false;
} catch (IOException ex) { return false; }
}
thank you in advance