Поскольку у вас есть java-тег, я предполагаю, что вы используете java-сервлеты.
X получает XML, который должен перейти к y?Ну, самый простой способ для X - создать запрос для y и переслать ответ обратно человеку, который сделал запрос.
Для этого можно использовать класс HTTPClient.
Вы отправляете запрос от X к Y, X будет ждать ответа Y.
Если вы не знаете, как сделать эту проверку, java docs http://download.oracle.com/javase/1.5.0/docs/api/java/net/HttpURLConnection.html
Убедитесь, что вы проверили наборы переменных ипараметры, я вытащил это из моего кода
Код:
try {
URL url = new URL(server);
HttpURLConnection con;
con=(HttpURLConnection) url.openConnection();
con.setRequestProperty("Content-type", "text/xml; charset=UTF-8");
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
OutputStream out = con.getOutputStream();
Writer writer = new OutputStreamWriter(out, "UTF-8");
writer.write(xml);
writer.flush();
writer.close();
InputStream is= con.getInputStream();
//This gets sent to the client
return set_courses(is);
} catch (Exception e){
e.printStackTrace();
status_message= "Custom 1: "+e.getMessage();
return false;
}