学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信

        原文地址: http://java.sun.com/developer/technicalArticles/scripting/javafxpart3/
        
        文章索引(Articles Index)
        本系列文章的第一部分向Java开发者介绍了JavaFX Script语言的语法和语义。接下来的第二部分演示了如何使用Java的远程方法调用(RMI)技术利用助手类实现简单的客户端-服务器连接。
        RMI是一个很好的原始工具,但是在真实世界的使用中它也具有自己的缺陷。在Internet上创建客户端-服务器工具的通常解决方案是利用面向服务架构(SOA),例如Java API for XML Web Services(JAX-WS)。本文将采用本系列前一篇文章向你展示如何使用RMI的方式,向你展示如何利用JAX-WS2.1使用JavaFX Script访问web服务。
      
        使用NetBeans IDE 5.5.1导出一个服务器类作为Web服务(Exporting a Server Class as a Web Service Using NetBeans IDE 5.5.1)

        由使用JAX-WS 2.1创建一个简单web服务开始这个任务。你首先需要一个类,它包含了一个或多个你希望导出为一个web服务的方法 。为了简单期间,你可以使用该系列文章第二部分中的服务器代码,如代码示例1所示:
        Code Example 1
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信package server;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import java.io.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
public class ServerImpl ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
private String name;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public ServerImpl() ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
super();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public String ping(String s) ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
return "Hello " + s;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}
       为了导出这个方法,你需要做两件事情:添加一个导入javax.jws.WebService的语句;以及在开始处增加@WebService注释,告诉Java解释器你打算把这个类的方法发布为一个web服务。这些新增的代码在代码示例2中粗体显示:
        Code Example 2
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信package server;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import java.io.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import javax.jws.WebService;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信@WebService
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
public class ServerImpl ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
private String name;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public ServerImpl() ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
super();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public String ping(String s) ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
return "Hello " + s;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
        这时,就可以将web服务发布到应用服务器上。本文讨论如何在NetBeans IDE 5.5.1中发布web服务。如果你想使用Java SE 6内嵌的服务器创建web服务,IDE除外,那么可以浏览这篇文章《Introducing JAX-WS 2.0 With the Java SE 6 Platform, Part1》。
        1、选择File→New Project,应该可以看到如图1所示的对话框:
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信  
                                                      图1 NetBeans IDE 5.5.1 NewProject对话框
        2、在Categories栏中,选择Web。在Projects子窗口中,选择Web Application。点击Next,应该看到如图2所示页面:
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                                     图2 New Web Application对话框
        3、在Project Name域中,输入WebServiceExample。注意将web应用程序的上下文根路径改为同样的名字。另外,如果Set Source Level to 1.4是选中状态,则取消对其选择。源代码的级别必须是1.5或者更高,这样才能把web服务添加到项目中。最后,点击Finish按钮。如果不小心点击了Next,NetBeans IDE会提示选择不同的框架。只需忽略这些框架,按下Finish即可。
        此时对话框应该关闭,你应该看到WebServiceExample项目被添加到了左上的Projects子窗口中,如图3所示:
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                            图3  包含了WebServiceExample项目的NetBeans IDE 5.5.1 Projects子窗口
        4、接下来,左键点击WebServiceExample项目的名称以选中。也就是,点击左侧的图标为小地球的根节点。右键点击,选择New→Web Service...你应该看到如图4所示的对话框。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                                图4 New Web Service对话框
        5、在Web Service Name域中,输入ExampleService。在Package域中,输入ws。选中Create an Empty Web Servie单选按钮,点击Finish。NetBeans IDE将会产生空的web服务源代码。
        假如使用JAX-WS 2.0,你也许会注意到NetBeans IDE创建的注释比本文前面介绍的@WebService注释稍微复杂一些。不用担心,这些参数和额外的注释帮助你改善Java SE 6或JAX-WS 2.0发布web服务的方式。然而,功能和默认的仍旧是一致。
       6、将类的源代码改为和代码示例3一样。
              Code Example 3
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信/**//*
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 * ExampleService.java
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 *
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 * Created on August 17, 2007, 2:03 PM
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 *
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 * To change this template, choose Tools | Template Manager
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 * and open the template in the editor.
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信 
*/

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
package ws;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import java.io.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import javax.jws.WebService;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信@WebService
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
public class ExampleService ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
private String name;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public ExampleService() ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
super();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public String ping(String s) ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
return "Hello " + s;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}
        7、部署这个例子,在Projects子窗口中再次右击WebServiceExample,如图3所示,这次选择Deploy Project菜单项。这将会启动应用服务器,编译web服务,并部署它。当一切完成时,打开浏览器,输入如下的地址:
         http://localhost:8084/WebServiceExample/ExampleService
        注意NetBeans IDE 5.5.1默认的应用服务器是Apache Tomcat,其默认发布端口是8084,并不是其他web服务器经常使用的8080。浏览器定位到这个URL后,应该在其中看到类似图5的表格,表示web服务处于活动状态。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                            图5  运行在本地计算机上的示例Web服务
        你还可以点击链接显示web服务的Web Service Definition Language(WSDL)文件。不用担心,你是否可以理解该WSDL文件的内容。在完成本指南时,并不需要。

        使用GlassFish服务器或者Sun Java System Application Server 9(Using the GlassFish Server or Sun Java System Application Server 9)

        如果你想使用GlassFish服务器或者Sun Java System Application Server 9(SJSAS 9)代替默认的Tomcat服务器,请确保已经事先在NetBeans IDE中下载、安装并注册了该服务器。在这篇出色的文章后面的部分,你可以找到如何逐步设置GlassFish服务器。针对本文的目的,是保证在New Web Application对话框的Server域中指定合适的应用服务器,如图2所示。注意默认的端口根据服务器的不同而不同。更多细节可以查看服务器的文档。

        在NetBeans IDE 5.5.1中创建一个JavaFX Web Services客户端(Creating a JavaFX Web Services Client in NetBeans IDE 5.5.1)

         此时,你可以在NetBeans IDE 5.5.1中执行下面的步骤,创建一个web服务客户端的类库。当创建客户端时,无论你使用Java SE 6 mini-web服务器、NetBeans IDE内置的Tomcat服务器,还是SJSAS 9 或者GlassFish服务器都没有关系。然而,服务器一定要在运行中,要让NetBeans IDE 5.5.1可以访问WSDL文件。
        1、选择File→New Project。你应该看到类似图6的对话框。从Projects类别中选择Java Class Library,点击Next。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                              图6  创建一个新的Java项目
         2、在Project Name域中,输入JavaFXWebServiceClient,如图7所示。注意,在NetBeans IDE 5.5中有一个bug,可能会阻止你在项目文件中创建路径包含空格的web服务客户端。所以,例如,路径不能是C:/Documents and Settings/...然后点击Finish。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                                      图7  创建一个新的Java类库
          3、这将会在Projects子窗口中创建一个JavaFXWebServiceCilent项目,如先前图3所示。右键点击项目节点,选择New→Web Service Client。为了定位WSDL选择Project,点击Project域右边的Browse按钮。你应该看到类似图8的对话框。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                            图8  浏览在WebServicesExample项目中的Web服务
        浏览你希望使用的web服务。选择web服务ExampleService,点击OK。你将会看到图9所示的对话框。注意,你可以手动指定一个本地文件或者WSDL位置的URL。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                                        图9  New Web Service Client对话框
         在Package域中输入ws,点击Finish。Projects子窗口显示新的web服务客户端,如图10所示。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                                        图10  在Projects子窗口中的新的Web服务客户端项目
         接着,在ws包里,创建一个名为ConnectionHelper的Java文件,如代码示例4所示。
         Code Example 4
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信package ws;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
public class ConnectionHelper ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    
public static ws.ExampleService getWSConnection() ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
try ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信            ws.ExampleServiceService service 
= new ws.ExampleServiceService();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信            
return service.getExampleServicePort();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        }
 catch (Exception ex) ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信            
// TODO handle custom exceptions here
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
        }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        
return null;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信     }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}
         你可以重用本系列第二部分中同样的JavaFX Script代码,以同样的方式创建一个名为ws.MyClient.fx的文件。即,在ws包上点击右键,选择New→JavaFX File打开图11所示的对话框。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                 图11 创建一个新的JavaFX Script文件
          事实上,唯一的变化是对ConnectionHelper类的静态getWSConnection()方法的调用,以及显示的文本。代码示例5给出了源代码,变化使用粗体标出。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信import java.lang.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import javafx.ui.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import java.rmi.*;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import ws.ExampleService;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
import
 ws.ConnectionHelper;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
class ButtonClickModel ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    attribute numClicks: Number;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信var model 
= new ButtonClickModel();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信var win 
= Frame ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    width: 
200
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    content: GridPanel 
...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        border: EmptyBorder 
...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信           top: 
30
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信           left: 
30
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信           bottom: 
30
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信           right: 
30
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        rows: 
3
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        columns: 
1
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        vgap: 
10
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信        cells:
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信          [  Button 
...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                 text: 
"Click to make Web Services connection!"
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                 mnemonic: I
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                 action: operation() 
...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                     
do ...{   //  Do statements are executed off the EDT
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                         
try ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                             var remoteServer:ExampleService 
=
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                                 ConnectionHelper.getWSConnection();
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                             var results 
= remoteServer.ping("Test");
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                             System.out.println(
"response: {results}");
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                             model.numClicks
++;
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                         }
 catch (e:Exception) ...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                             System.out.println(
"exception: {e}");
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                         }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                     }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                 }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信             }
,
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信             Label 
...{
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信                 text: bind 
"Number of WS connections: {model.numClicks}"

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信             }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信          ]
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    }

学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信    visible: 
true
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信}
;

        使用本系列第二部分中同样的步骤修改JavaFXWebServiceClient属性,在执行项目是运行JavaFX Script客户端。步骤如下:
        1、在Project窗口中,右键点击项目节点,选择Properties。
        2、在Properties对话框的Categories面板中选择Run。
        3、确保Main Class是net.java.javafx.FXShell
        4、在Argument域中输入脚本的名称,ws.MyClient。点击OK。
        作为参考,图12是Project Properties对话框中Run的屏幕截图。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
                                     图12  Project Properties对话框中Run
        
最后,右键点击项目节点,选择Run Project。输出窗口应该如图13所示。
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
           图13 运行JavaFX Script Web服务客户端项目
        此时,你应该有一个完好的理解,对于如何在NetBeans IDE 5.5.1使用JavaFX Script与服务器跨网络通信,无论是通过JAX-WS 2.1,还是RMI。如果你想了解更多利用JavaFX Script创建GUI的信息,可以参考本文For More Information部分中针对Swing程序员的指南。另外,记住JavaFX规范仍然在开发中,因此过一段时间语言的参数可能会发生改变。可以参考OpenJFXOpenJFX Compiler网站获得最新的消息。       

For More Information
学习JavaFX Script,第三部分:使用JAX-WS进行客户端-服务器通信
上一篇:windows nginx日志滚动


下一篇:当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?