从jsp调用Webservices

use*_*236 2 java web-services

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

Leo*_*Leo 7

这是一个使用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>
Run Code Online (Sandbox Code Playgroud)

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

    }

}
Run Code Online (Sandbox Code Playgroud)

现在创建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());

 }

 }
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

在这里.

在此输入图像描述