从jsp调用Webservices

时间:2014-04-02 12:27:52

标签: java web-services

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

2 个答案:

答案 0 :(得分:8)

以下是使用eclipse的5分钟示例

我将使用此WSDL演示

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

为JSP创建动态Java项目

enter image description here

enter image description here

enter image description here

创建JSP和一些后端java类

enter image description here

你的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客户端。单击/选择项目

enter image description here

右键单击并从给定的WSDL

创建新的Web Service Client

enter image description here

enter image description here

更改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());

 }

 }

将网络应用添加到您的服务器(如果有的话。如果没有,请创建新服务器)

enter image description here

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

就在这里。

enter image description here

答案 1 :(得分:0)

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

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