Java 从jsp调用Web服务

Java 从jsp调用Web服务,java,web-services,Java,Web Services,我已成功创建wsdl。其url为“http://:/aebis/HelpdeskWebserviceImpl?wsdl”。 现在我想使用这个url调用jsp中的函数。我使用Jboss作为服务器。 请建议是否有人可以帮忙。 提前感谢。是JDK的一部分,从wsdl生成“可移植工件”。这使您可以轻松地使用类与web服务通信,而无需自己编写样板代码 但是我觉得您可能需要事先了解更多的背景知识,以便更好地理解如何使用JAX-RS web服务或使用JSF实现最先进的web应用程序,因此我的建议是参考这两个方

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

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


但是我觉得您可能需要事先了解更多的背景知识,以便更好地理解如何使用JAX-RS web服务或使用JSF实现最先进的web应用程序,因此我的建议是参考这两个方面的指南(第28章和第7章)。

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

我将使用这个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>
现在创建WS-client。单击/选择项目

右键单击并从给定的WSDL创建新的Web服务客户端

更改MyClass以调用web服务(您也可以先使用main类进行测试)

将web应用添加到服务器(如果有。如果没有,请创建新服务器)

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

就在这里


您需要在JSP中完成它,这有什么原因吗?如果您有机会使用最新的技术,就不要再使用JSP了。您需要的是web服务的客户端,例如由JDK中的wsimport工具生成的客户端,然后可供JSF页面使用。如何在web应用程序中使用wsimport工具。感谢您对demoGreat guide的精彩回答。帮助我很多。我想知道为什么投票数这么少。
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());

    }

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

 }

 }