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;
" <text>"+st+"</text>\n"+
" <parameter name='wrap' value='yes'/>\n" +
"</query>";
// the res would be :
// <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;
}
}