我在将生成的存根与 3rd 方软件一起使用时有一些限制。所以,我正在寻找其他选项,例如简单的 HTTP 请求和响应来获得结果。我可能需要将 5 或 6 个参数传递给一个操作并从 Web 服务获取一个输出。
我可以创建一个简单的 JSP 文件,它在内部调用 web 服务。我可以通过 HTTP 请求调用这个 JSP。我想检查是否还有其他选择。
我正在使用 JDK1.6、JBoss 5.1。
我在将生成的存根与 3rd 方软件一起使用时有一些限制。所以,我正在寻找其他选项,例如简单的 HTTP 请求和响应来获得结果。我可能需要将 5 或 6 个参数传递给一个操作并从 Web 服务获取一个输出。
我可以创建一个简单的 JSP 文件,它在内部调用 web 服务。我可以通过 HTTP 请求调用这个 JSP。我想检查是否还有其他选择。
我正在使用 JDK1.6、JBoss 5.1。
SOAP Web 服务请求是普通的 POST HTTP 请求,您可以使用任何客户端(包括简单客户端URLConnection
甚至curl
. 请参阅:通过 URLConnection 向 Web 服务发送 SOAP 请求。
您不需要 JSP(事实上,从维护的角度来看,从 JSP 调用外部 Web 服务是一个糟糕的想法)。您可以从任何 Java 代码调用 Web 服务,甚至可以直接从main
方法调用。
试试这个...
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);
}
我同意 Tomasz Nurkiewicz 的观点。不要使用 JSP 调用 Web 服务。
相反,创建一个调用您需要的其他 Web 服务的 Web 服务。这样,您可以在发回响应之前轻松处理结果。
使用注释可以在 JBoss 上轻松创建 Web 服务。