在使用第三方软件生成存根时,我有一些限制。所以,我正在寻找其他选项,如简单的HTTP请求和响应,以获得结果。我可能需要将5或6个参数传递给一个操作,并从Web服务获得一个输出。
我可以创建一个简单的JSP文件,它在内部调用webservice。我可以通过HTTP请求调用此JSP。我想检查是否还有其他选择。
我正在使用JDK1.6,JBoss 5.1。
答案 0 :(得分:6)
SOAP Web服务请求是普通的POST HTTP请求,您可以使用任何客户端触发这些请求,包括简单的URLConnection
甚至curl
。请参阅:Sending a SOAP request to a Web Service via URLConnection。
您不需要JSP(事实上,从维护角度来看,从JSP调用外部Web服务是一个糟糕的想法)。您可以从任何Java代码调用Web服务,甚至可以直接从main
方法调用。
答案 1 :(得分:1)
试试这个......
public void postData() throws Exception {
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://www.xyz.com");
List<NameValuePair> list = new ArrayList<NameValuePair>(1);
list.add(new BasicNameValuePair("name","ABC");
httppost.setEntity(new UrlEncodedFormEntity(list));
HttpResponse r = client.execute(httppost);
}
答案 2 :(得分:0)
我同意Tomasz Nurkiewicz的看法。不要使用JSP来调用Web服务。
而是创建一个调用您需要的其他Web服务的Web服务。这样,您可以在发回响应之前轻松处理结果。
可以使用注释在JBoss上轻松创建Web服务。