我已经成功创建了wsdl。它的网址是" http://:/ aebis / HelpdeskWebserviceImpl?wsdl"。 现在我想使用这个url来调用jsp中的函数。我使用Jboss作为服务器。 请建议是否有人可以提供帮助。 提前谢谢。
答案 0 :(得分:8)
以下是使用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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<%= new myweb.MyClass().getResult() %>
</body>
</html>
和
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());
}
}
将网络应用添加到您的服务器(如果有的话。如果没有,请创建新服务器)
清除服务器(强制它刷新应用程序)并启动它
就在这里。
答案 1 :(得分:0)
wsimport tool是JDK的一部分,并从wsdl生成“可移植工件”。这使您可以轻松地使用类与Web服务进行通信,而无需自己编写样板代码。
但我觉得您可能需要更多的背景知识,以便更好地了解如何使用JAX-RS Web服务或使用JSF实现最先进的Web应用程序,所以我的建议是咨询这两个人Java EE 7 tutorial(第28章和第7章)。