Как отправить файл XML под сервлетами на tomcat? - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть две веб-службы, запущенные на моем tomcat, назовем их X и Y.

когда Y запрашивается X в конце, у Y есть строка с XML внутри, и теперь я хочу вернуть эту строку XML в X.

Как я могу это сделать?

есть ли вообще сделать специальный запрос, чтобы X-сервлет ждал ответа? или мне действительно нужно перенаправить?

спасибо за ваше время.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Поскольку у вас есть 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;
    }
0 голосов
/ 01 апреля 2011

Почему бы вам не сделать так, чтобы X просто позвонил Y, через URL или commons-http, и заблокировал, пока ответ не будет возвращен?Тогда X получит XML и сможет делать с ним все, что ему нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...