从jsp调用Webservices

我已经成功创建了wsdl。它的URL是“http://:/ aebis / HelpdeskWebserviceImpl?wsdl”。 现在我想使用这个url来调用jsp中的函数。我使用Jboss作为服务器。 请建议是否有人可以提供帮助。 提前致谢。

这是一个使用eclipse的5分钟示例

我将使用此WSDL来演示

http://www.webservicex.net/ConvertAcceleration.asmx?WSDL

为JSP创建动态Java项目

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

创建JSP和一些后端java类

在此处输入图像描述

你的JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>       <%= new myweb.MyClass().getResult() %>   

 package myweb; public class MyClass { public String getResult(){ return null; } public static void main(String[] args) { MyClass c = new MyClass(); System.out.println(c.getResult()); } } 

现在创建WS客户端。 单击/选择项目

在此处输入图像描述

右键单击并从给定的WSDL创建新的Web Service Client

在此处输入图像描述

在此处输入图像描述

更改MyClass以调用Web服务(您也可以首先使用类main测试)

  package myweb; import java.rmi.RemoteException; import NET.webserviceX.www.AccelerationUnitSoap; import NET.webserviceX.www.AccelerationUnitSoapProxy; import NET.webserviceX.www.Accelerations; public class MyClass { public String getResult() throws RemoteException { AccelerationUnitSoap a = new AccelerationUnitSoapProxy(); Accelerations x = Accelerations.decimeterPersquaresecond; Accelerations y = Accelerations.centimeterPersquaresecond; Object z = a.changeAccelerationUnit(1, x, y); return z.toString(); } public static void main(String[] args) throws RemoteException { MyClass c = new MyClass(); System.out.println(c.getResult()); } } 

将Web应用程序添加到您的服务器(如果有的话。如果没有,请创建一个新服务器)

在此处输入图像描述

清除服务器(强制它刷新应用程序)并启动它

在这里。

在此处输入图像描述

wsimport工具是JDK的一部分,并从wsdl生成“可移植工件”。 这使您可以轻松地使用类与Web服务进行通信,而无需自己执行样板代码。

但我觉得您可能需要更多的背景知识,以便更好地了解如何使用JAX-RS Web服务或使用JSF实现最先进的Web应用程序,所以我的建议是咨询Java EE 7这两个教程 (第28章和第7章)。