现在的位置: 首页 > 综合 > 正文

使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序,第 1 部分: Web Services 服务端应用程序

2017年12月24日 ⁄ 综合 ⁄ 共 3701字 ⁄ 字号 评论关闭

创建项目

下一步,您将创建一个项目来构造 Web Services 服务端。项目包含源代码和其他相关文件,并允许您使用项目作为源文件的容器,或在项目中设置文件夹以对文件进行组织。

  1. 选择 File > New > Project
  2. 展开 Java 文件夹并单击 Java Project(请参见图 5)。 

    图 5. 在 Eclipse 中创建项目
    在 Eclipse 中创建项目 

  3. 单击 Next
  4. 在看到提示时输入项目名称,例如 wsServerExample,如图 6 所示。 

    图 6. 在 Eclipse 中输入项目详细信息
    在 Eclipse 中输入项目详细信息 

  5. 如果先前已缺省选择了 Use default JRE 单选按钮,则选择此单选按钮;否则请选择 Use a project specific JRE 单选按钮,并确保该 JRE 为 Java SE 6。
  6. 单击 Finish 将项目与您先前安装的 Java JDK 相关联。
  7. 如果提示您切换 Java 透视图,请单击 Yes

创建服务器

首先需要创建一个 Java 包来容纳您的 Java 类:

  1. 选择 File > New > Package
  2. 当 New Java Package 窗口打开时,输入包名称,例如 com.myfirst.wsServer,如图 7 所示。 

    图 7. 创建包
    创建包 

下一步,您需要为服务器代码创建一个类:

  1. 右键单击您刚才创建的包名称,然后选择 New > Class。按如图 8 所示对其进行配置。 

    图 8. 创建类
    创建类 

  2. 将该类创建为没有 main 方法存根的 public 类。

现在您已经为该包提供了一个类,下面可以开始编写服务器的代码了,如清单 1 所示。


清单 1. 服务器代码

package com.myfirst.wsServer;

import Javax.jws.WebService;

@WebService

public class SayHello {
	
 private static final String SALUTATION = "Hello";
	
 public String getGreeting( String name ) {
  return SALUTATION + " " + name;
 }
}


请注意清单 1 中粗体显示的代码。这称为 Annotation 或元数据,由 Java SE 5 中引入的 Web Services 元数据规范 (Web Services Metadata Specification) 所使用。开发人员在对类和方法应用 Annotation 之前定义类和方法,以向运行时引擎指明如何将类及其方法作为 Web Services 和 Web Services 操作来启用。Java SE 6 附带了这样一个引擎。

@WebService Annotation 将 SayHello 类标记为实现某个 Web Services ,从而产生可部署的 Web Services 。这个特定的 Annotation 是一个 WSDL 映射 Annotation,并将 Java 源代码与表示 Web Services 的 WSDL 元素相关联。(有关
Java SE 6 中的其他 Annotation 的更多信息,请参阅参考资料。)

使用 Ant 生成服务器代码

编写服务器应用程序以后,您需要生成支持 Web Services 的代码。首先,创建一个名为 build.xml 的新 Ant 文件:

  1. 右键单击该项目,并选择 New > File
  2. 在得到提示时输入名称 build.xml,然后单击 Finish(请参见图 9)。
  3. 确保通过右键单击此文件并选择 Open With > Ant Editor,从而使用 Ant Editor 打开此文件。从现在开始,每当您双击此文件,都会使用 Ant Editor 将其打开。 

    图 9. 创建 Ant 文件
    创建 Ant 文件 

  4. 输入如清单 2 所示的 Ant 项目。

    清单 2. Ant 脚本

    <project default="wsgen">
    
     <target name="wsgen" >
      
      <exec executable="wsgen">
         
       <arg line="-cp ./bin -keep -s ./src -d ./bin com.myfirst.wsServer.SayHello"/>
         
      </exec>
         
     </target>
    
    </project>
    

  5. 若要运行该 Ant build.xml 文件,请右键单击 Run As 并选择 Ant Build,这将会执行该 Ant 文件。
  6. 确保此操作在 Eclipse 控制台窗口中产生 BUILD SUCCESSFUL 消息,如图 10 所示。 

    图 10. Ant 构建成功
    Ant 构建成功 

  7. 返回到 Eclipse 项目,通过右键单击 wsServerExample 并选择 Refresh 来刷新该项目。您现在应该在名为 com.myfirst.wsServer.jaxws 的包下面看到生成用于运行所创建的 Web Services 的代码(请参见图 11)。 

    图 11. 生成的代码
    生成的代码 

发布 Web Services

在为 Web Services 的服务器生成代码以后,您需要发布该 Web Services 以便能够开始使用它:

  1. 在您创建的 com.myfirst.wsServer 包下面创建一个新类,并将其命名为类似于 RunService 的名称。
  2. 右键单击该包并选择 New > Class,但这次选择用于创建 main 方法存根的选项。
  3. 编写发布 Web Services 的代码,如清单 3 所示。 

    清单 3. 发布代码

    package com.myfirst.wsServer;
    
    import Javax.xml.ws.Endpoint;
    
    public class RunService {
    
     /**
     * @param args
     */
        
     public static void main(String[] args) {
    		
      System.out.println("SayHello Web Service started.");
      Endpoint.publish("http://localhost:8080/wsServerExample", new SayHello());
    
     }
    }
    

    Java SE 6 为发布 Web Services 提供了新的支持。Endpoint API 简单地发布 Web Services 端点,后者在运行时在某个 URL 处生成 WSDL。

  4. 通过右键单击此类并选择 Run As > Java Application,从而运行此类。Eclipse IDE 控制台窗口应该显示出来。如果未显示,请选择 Window > Show View > Console。您应该看到 Web 服务器已启动的指示,如图 12 所示。 

    图 12. 正在运行服务的控制台
    正在运行服务的控制台

查看 WSDL

现在服务器已经启动并运行,您应该对其进行测试以确保它按预期工作:

  1. 通过选择 Window > Show View > Other > General > Internal Web Browser 打开 Eclipse 中的内部 Web 浏览器。
  2. 输入 URL,例如 http://localhost:8080/wsServerExample?wsdl,这应该会显示该 Web Services 的 WSDL 文本,如图 13 所示。 

    图 13. 显示内部 Web 浏览器的控制台
    显示内部 Web 浏览器的控制台 

  3. 完成后,记住通过单击 Eclipse 控制台视图中的红色方框停止该 Web Services 。 然而,为了继续本教程后面的操作,应该保持服务处于运行状态。

测试服务器

下一步,您将使用 Eclipse Web Services Explorer 工具,并通过本机 WSDL 和 SOAP 调用 Web Services 的操作,以测试您刚才创建的 Web Services 的 getGreeting 方法。

  1. 您可能需要切换到 Java EE 透视图。单击 Window > Open Perspective > Other
  2. 当窗口显示出来时,选择 Java EE
  3. 选择 Run > Launch the Web Services Explorer。通过双击其选项卡最大化视图。您应该看到如图 14 所示的屏幕。 

    图 14. Web Services Explorer
    Web Services Explorer 

  4. 单击红色圆圈所指示的图标。这将显示 WSDL 页面,如图 15 所示。 

    图 15. WSDL 页面
    WSDL 页面 

  5. 在 Navigator 窗格中,单击 WSDL Main。Actions 窗格已更新,如图 16 所示。
  6. 输入 WSDL URL,在此例中为 http://localhost:8081/wsServerExample?wsdl,然后单击 Go 按钮。 

    图 16. 输入 WSDL URL
    输入 WSDL URL 

  7. WSDL 应该成功地打开,并且您应该看到类似如图 17 所示的屏幕。 

    图 17. 成功打开的 WSDL
    成功打开的 WSDL 

  8. 下一步,您将通过单击 Operations 下面的 getGreeting 调用一个操作(如图 17 所示)。这将产生与图 18 所示类似的屏幕。

    图 18. 调用操作
    调用操作 

  9. 在 Body 部分的 getGreeting 下面,单击 Add 链接(如图 18 所示)向值表中添加一个新行。
  10. 输入名称(这里为 Fiona),然后单击 Go 按钮。
  11. 在 Status 部分,getGreetingResponse 显示了结果。您应该在 Status 部分看到类似于 return (string): Hello Fiona 的结果(请参见图 19)。可能需要滚动或拖动视图才能看到结果。 

    图 19. 操作结果
    操作结果

总结

创建、生成和发布 Web Services 是非常简单的,只需使用 Eclipse 即可,当然还要使用 Java SE 6。请继续阅读本系列教程的第 2 部分,您将在其中构建独立客户端以便与这个独立 Web Services 服务端一起使用。


抱歉!评论已关闭.