我在tomcat上运行了两个Web服务,可以将它们称为X和Y.
当Y在X中请求Y时,Y中有一个带有XML的字符串,现在我想将这个XML字符串返回给X.
我该怎么做?
无论如何都要提出X servlet等待响应的特殊请求?或者我真的需要重定向?
你的时间。
答案 0 :(得分:2)
由于您有一个java标记,我假设您使用的是java servlet。
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;
}
答案 1 :(得分:0)
为什么不让X只通过URL或commons-http调用Y,并阻塞直到返回响应?那么X将拥有XML并且可以随心所欲地做任何事情。