FeaturesPluginsDocs & SupportCommunityPartners

>> 更多 SOA 文档

WSDL 编辑器开发人员指南


本指南描述如何使用 NetBeans IDE 6.0 的 WSDL 编辑器组件。此组件包含在 SOA 功能中。

目录

  此页上的内容适用于 NetBeans 6.0 IDE

教程需求

在开始之前,确保对本节的要求有所了解。

前提条件

本教程假设您拥有 Java 语言和平台以及 NetBeans IDE 方面的一些基础知识或编程经验。

本教程所需要的软件

开始之前,需要在您的计算机中安装以下软件:

  • NetBeans IDE 6.0


    选择 Download All 选项。Download All 选项包括 SOA Pack 和 GlassFish V2 应用服务器,它们都是本教程所必需的。

关于 WSDL 编辑器

借助WSDL 编辑器,可以编辑 Web 服务描述语言(Web“服务”Description Language,WSDL)文件。

WSDL 是一种基于 XML 的语言,用于描述 web 服务。一个 WSDL 文件包含以下类型的信息:

  • 关于 web 服务功能的信息
  • 关于如何访问 web 服务的信息

WSDL 编辑器支持 WSDL 规范的版本 1.1

WSDL 编辑器提供以下视图:

要创建 WSDL 文件,请使用向导。必须选择以下方法之一:

  • 从头开始创建 WSDL 文件
  • 基于现有 WSDL 文件创建 WSDL 文件

回到顶部

“源”视图

在“源”视图中,显示基础 XML 源码。可以直接编辑 XML。

源编辑器的顶部是每个已打开文档的选项卡。每个选项卡均显示文档的名称。如果文档被修改并且尚未保存,则名称后面将出现星号(*)。可以右击选项卡以访问各种命令。

工具栏位于 源编辑器窗口的顶部。

源编辑器中显示的源码根据语法呈现不同的颜色。

示例文件 SynchronousSample.wsdl 的“源”视图

源编辑器状态栏位于水平滚动条的下方。要在插入模式和改写模式之间切换,可使用 Insert 键。

回到顶部

在 WSDL 文件中使用代码完成功能

WSDL 编辑器允许在 WSDL 文件中使用以下类型的代码完成功能:

  • 元素代码完成。 在父元素中键入开始标记(<),代码完成框就会显示此父元素的子元素列表。例如,假设将光标直接放到 <portType> 元素之后。键入开始标记(<),则代码完成框将显示以下子元素列表:documentationoperation
  • 属性代码完成。 在元素标记中按空格键,代码完成框将显示此元素的属性列表。

代码完成框可以包含特定于单个绑定(如 FTP 绑定)的元素和属性。

可以看到代码完成框时,可以继续键入以微调列表中的可选项目。还可以使用鼠标或导航键在列表中滚动。

要选择列表中的项目,请执行以下操作之一:

  • 高亮显示项目并按回车键。
  • 双击项目

回到顶部

WSDL 视图

在 WSDL 编辑器的 WSDL 视图中,WSDL 文件作为树组件或一系列的列出现。

示例文件 SynchronousSample.wsdl 的 WSDL 视图

WSDL 视图有两个子视图:树视图和列视图。要在两个视图之间切换,请使用 WSDL 编辑器工具栏中的按钮。

WSDL 视图中的主节点对应于 WSDL 文件中的主要元素。

  • 类型(Types): 此节点允许您导入 XML 模式以及添加内嵌模式。
  • 导入(Imports): 此节点允许您导入 WSDL 文件。
  • 消息(Messages): 此节点允许您创建、编辑和删除消息。
  • 端口类型(Port Types): 此节点允许您创建、编辑和删除端口类型。
  • 绑定(Bindings): 此节点允许您创建、编辑和删除绑定。
  • 服务(Services): 此节点允许您创建、编辑和删除服务。
  • 可扩展性元素(Extensibility Elements): 此节点允许您添加以下可扩展元素:合作伙伴链接类型、属性和属性别名。

WSDL 视图中的一些节点允许您添加扩展属性。右击节点并选择“添加扩展属性”。在“添加扩展属性”对话框中,指定名称和名称空间。添加属性之后,即可从“属性”窗口指定值。要删除属性,右击节点并选择“移除属性”。

如果右击节点并选择“转到源”,此时将出现“源”视图,其中光标位于组件代码块的开始。

回到顶部

配置根元素

WSDL 文件的根元素包含 WSDL 文件的名称、目标名称空间、默认名称空间和名称空间前缀属性。可以使用 WSDL 编辑器来编辑这些属性。

要配置根元素:

  1. 在 WSDL 视图中,选择根节点。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 根据需要编辑名称、目标名称空间和默认名称空间。
  4. 根据需要编辑名称空间前缀的值。

回到顶部

使用 WSDL 视图导入 XML 模式

可以使用 WSDL 编辑器将一个或多个 XML 模式文件导入到 WSDL 文件。

如果 XML 模式文件不能导入,则在“添加导入”对话框中此文件被删去。发生此情况可能由于以下原因:

  • XML 模式文件已经被导入。
  • 名称空间与执行导入的 WSDL 文件不兼容。

WSDL 编辑器允许导入位于不同项目的 XML 模式文件。有关更多信息,请参阅 IDE 联机帮助中的“About Cross-Project XML“文件”References”主题。

要导入 XML 模式:

  1. 在 WSDL 视图中,右击“类型”节点并选择“添加”>“模式导入”。
    此时将打开“添加导入”对话框。
  2. 展开“按文件”或“按名称空间”节点以导航到 XML 模式文件并选择它。
  3. 单击“确定”。
    此时将出现模式导入节点。

回到顶部

使用 WSDL 视图添加内嵌模式

WSDL 编辑器提供了对 W3C XML 模式中的内置简单类型的支持。内置简单类型包括 stringdateinteger 等类型。

通过添加内嵌模式,可以定义自己的数据类型。WSDL 编辑器允许配置一个或多个模式元素和类型,并允许定义元素和类型的结构。

要添加内嵌模式:

  • 在 WSDL 视图中,右击“类型”节点并选择“添加”>“内联模式”。
    此时将出现内嵌模式节点。

要配置内嵌模式的全局属性:

  1. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  2. 选择内嵌模式节点。
  3. 执行以下一项或多项可选任务:
    • 指定唯一 ID。
    • 指定本地声明的属性是否必须使用名称空间前缀进行限定。
    • 指定本地声明的元素是否必须使用名称空间前缀进行限定。
    • 指定 block 属性的默认值,它控制替换的使用。
    • 指定 final 属性的默认值,它控制类型派生的使用。
    • 指定模式的版本。
    • 指定模式的目标名称空间。

要定义内嵌模式结构:

  • 根据需要添加以下一个或多个 XML 模式组件。出现的界面与编辑 XML 模式时出现的“模式”视图相同。
    • 复杂类型
    • 简单类型
    • 元素
    • 属性
    • 属性组
    • 全局组

回到顶部

使用 WSDL 视图导入 WSDL 文件

可以使用 WSDL 编辑器将一个或多个其他 WSDL 文件导入到 WSDL 文件。

如果 WSDL 文件不能导入,则在“添加导入”对话框中此文件和文件的名称空间将被删去。发生此情况可能由于以下原因:

  • WSDL 文件已经被导入。
  • WSDL 文件是同一个 WSDL 文件。
  • 名称空间与执行导入的 WSDL 文件不兼容。

WSDL 编辑器允许导入位于不同项目的 WSDL 文件。有关更多信息,请参阅 IDE 联机帮助中的“About Cross-Project XML“文件”References”主题。

要导入 WSDL 文件:

  1. 在 WSDL 视图中,右击“导入”节点并选择“添加 WSDL 导入”。
    此时将打开“添加导入”对话框。
  2. 展开“按文件”或“按名称空间”节点以导航到 WSDL 文件并选择它。
  3. 单击“确定”。
    此时将出现 WSDL 导入节点。

回到顶部

使用 WSDL 视图配置消息

可以使用 WSDL 编辑器创建、编辑和删除消息。

在 WSDL 文件中,端口类型包含 web 服务可以执行的一个或多个相关操作。操作接收消息和/或发送消息。

每条消息都包含一个或多个逻辑部分。对于各个部分,您必须指定内容的名称和类型。

如果更改消息或部分的名称,那么 WSDL 编辑器将重命名同一文件中所有出现过的此名称。要重命名关联 XSD、WSDL 和 BPEL 文件中所有出现过的此名称,右击组件节点并选择“重新构造”>“重命名”。

要创建消息:

  1. 在 WSDL 视图中,右击“消息”节点并选择“添加消息”。
    此时将出现消息节点。消息包含一个部分。此部分的内容类型未定义。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. “元素”或“类型”属性指定内容类型。要设置此值,请单击省略号(...)按钮。“元素”或“类型”对话框允许您选择 W3C XML 模式中的任何内嵌类型。如果您添加了一个内联模式或者导入了一个模式,那么就可以从该模式中选择元素或类型。

要向消息添加一个部分:

  • 右击消息节点并选择“添加”>“部分”。
    此时将出现部分节点。内容类型未定义。

要更改消息或部分的名称:

  1. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  2. 选择消息或部分节点。
  3. 将“名称”属性设置为新名称。

要删除消息或部分:

  1. 选择消息或部分节点。
  2. 按下“删除” 键。

回到顶部

使用 WSDL 视图配置端口类型

可以使用 WSDL 编辑器创建、编辑和删除端口类型。

在 WSDL 文件中,端口类型包含 web 服务可以执行的一个或多个相关操作。示例操作为 GetQuote

WSDL 编辑器支持以下类别的操作:

  • 请求-响应。该操作将接收一条消息作为输入,并发送一条消息作为输出。
  • 单向。该操作将接收一条消息作为输入。

每条消息都包含一个或多个逻辑部分。对于各个部分,您必须指定内容的名称和类型。

如果更改端口类型或操作的名称,那么 WSDL 编辑器将重命名同一文件中所有出现过的此名称。要重命名关联 XSD、WSDL 和 BPEL 文件中所有出现过的此名称,右击组件节点并选择“重新构造”>“重命名”。

要创建端口类型:

  1. 在 WSDL 视图中,右击“端口类型”节点并选择“添加端口类型”。
    此时将出现“创建新端口类型”对话框。
  2. 为端口类型输入一个名称。
  3. 为操作输入一个名称。
  4. 选择操作类别。
  5. 定义操作接收的输入消息。通过在下拉列表中输入新的消息名称,可以从头开始创建消息,也可以从下拉列表中选择现有消息。对于新的消息,可以使用“添加”和“删除”按钮添加删除消息部分。
  6. 如果操作为请求-响应操作,则定义操作发送的输出消息。
  7. (可选)如果操作为请求-响应操作,则定义操作默认发送的输出消息。
  8. 单击“确定”。
    此时将出现端口类型节点。端口类型节点包含一个操作节点。如果创建一条或多条消息,就会出现消息节点。此外,合作伙伴链接类型是自动创建的。

要向现有端口类型添加操作:

  1. 在 WSDL 视图中,右击端口类型节点并选择“添加”>“操作”。
    此时将出现“创建新操作”对话框。
  2. 为操作输入一个名称。
  3. 选择操作类别。
  4. 定义操作接收的输入消息。通过在下拉列表中输入新的消息名称,可以从头开始创建消息,也可以从下拉列表中选择现有消息。对于新的消息,可以使用“添加”和“删除”按钮添加删除消息部分。
  5. 如果操作为请求-响应操作,则定义操作发送的输出消息。
  6. (可选)如果操作为请求-响应操作,则定义操作默认发送的输出消息。
  7. 单击“确定”。
    此时将出现一个操作节点。如果创建一条或多条消息,就会出现消息节点。

向请求-响应操作添加默认值:

  1. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  2. 右击操作节点并选择“添加”>“默认”。
    此时将出现默认节点。
  3. 将“消息”属性设置为默认消息。

要更改端口类型或操作的名称:

  1. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  2. 选择端口类型或操作节点。
  3. 将“名称”属性设置为新名称。

要更改操作的参数顺序:

  • 参数顺序适合与 RPC 绑定一起使用。
  1. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  2. 选择操作节点。
  3. 单击“参数顺序”属性的省略号(...)按钮。
    此时将打开“参数顺序”对话框。
  4. 将消息部分从“可用参数”列表中移动到“当前参数”列表。
  5. 按照期望顺序排列这些部分。
  6. 单击“确定”。

要删除端口类型或操作:

  1. 选择端口类型或操作节点。
  2. 按下“删除” 键。

回到顶部

使用 WSDL 视图配置绑定

可以使用 WSDL 编辑器创建、编辑和删除绑定。

WSDL 编辑器的 WSDL 视图中的绑定示例

在 WSDL 文件中,绑定包含端口类型操作和消息的协议和数据格式信息。

WSDL 视图提供以下方法:

  • 可以从现有端口类型快速创建绑定和服务。
  • 可以单独创建绑定、服务及其子节点。

如果更改绑定的名称,那么 WSDL 编辑器将重命名同一文件中所有出现过的此名称。要重命名关联 XSD、WSDL 和 BPEL 文件中所有出现过的此名称,右击绑定节点并选择“重新构造”>“重命名”。

要从端口类型创建绑定和服务:

  1. 在 WSDL 视图中,右击端口类型节点并选择“添加”>“绑定和服务端口”。
    此时将出现“生成绑定和服务端口”对话框。
  2. 为绑定输入一个名称。
  3. 选择绑定类别。
  4. 选择绑定子类型。选择将根据绑定类型而异。
  5. 为服务输入一个名称。
  6. 为端口输入一个名称。
  7. 单击“确定”。
    此时将出现绑定节点和服务节点。
    绑定节点包含标识绑定类型的可扩展元素(例如,file:binding)。绑定节点还包含一个或多个操作节点。
    服务节点包含端口节点。端口节点包含地址可扩展元素(例如,file:address)。
  8. 有关如何配置绑定和服务的可扩展元素的信息,请参阅相应绑定组件的用户指南。

要单独创建绑定:

  1. 在 WSDL 视图中,右击“绑定”节点并选择“添加绑定”。
    此时将出现绑定节点。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 选择绑定节点。
  4. (可选)更改“名称”属性的值。
  5. 将“类型”属性设置为绑定将引用的端口类型。
  6. 右击绑定节点,指向“添加”,并选择期望的绑定类型(例如“文件绑定”)。
    此时将出现标识绑定类型的节点。
  7. 右击绑定节点并选择“添加”>“绑定操作”。
  8. 如果绑定的端口类型有一个以上操作,就会出现“选择操作”对话框。选择一个或多个操作,并单击“确定”。
    此时将出现一个或多个操作节点。
  9. 有关如何配置绑定的可扩展元素的信息,请参阅相应绑定组件的用户指南。

要删除绑定:

  1. 选择绑定节点。
  2. 按下“删除” 键。

回到顶部

使用 WSDL 视图配置服务

可以使用 WSDL 编辑器创建、编辑和删除服务。

WSDL 编辑器的 WSDL 视图中的服务示例

在 WSDL 文件中,服务由一个或多个相关端口组成。每个 端口 将绑定与网络地址相关联,因此定义客户端可以访问的单个端点。

WSDL 视图提供以下方法:

  • 可以从现有端口类型快速创建绑定和服务。
  • 可以单独创建绑定、服务及其子节点。必须创建绑定,才可以配置服务的端口。

要从端口类型创建绑定和服务:

  1. 在 WSDL 视图中,右击端口类型节点并选择“添加”>“绑定和服务端口”。
    此时将出现“生成绑定和服务端口”对话框。
  2. 为绑定输入一个名称。
  3. 选择绑定类别。
  4. 选择绑定子类型。选择将根据绑定类型而异。
  5. 为服务输入一个名称。
  6. 为端口输入一个名称。
  7. 单击“确定”。
    此时将出现绑定节点和服务节点。
    绑定节点包含标识绑定类型的可扩展元素(例如,file:binding)。绑定节点还包含一个或多个操作节点。
    服务节点包含端口节点。端口节点包含地址可扩展元素(例如,file:address)。
  8. 有关如何配置绑定和服务的可扩展元素的信息,请参阅相应绑定组件的用户指南。

要单独创建服务:

  1. 在 WSDL 视图中,右击“服务”节点并选择“添加服务”。
    此时将出现服务节点。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 选择服务节点。
  4. (可选)更改“名称”属性的值。
  5. 右击服务节点并选择“添加”>“服务端口”。
    此时将出现端口节点。
  6. 选择端口节点。
  7. (可选)更改“名称”属性的值。
  8. 将“绑定”属性设置为期望的绑定。
  9. 右击端口节点,并添加地址可扩展元素(例如“文件地址”)。
  10. 有关如何配置地址可扩展元素的信息,请参阅相应绑定组件的用户指南。

要删除服务或端口:

  1. 选择服务或端口节点。
  2. 按下“删除” 键。

回到顶部

使用 WSDL 视图配置合作伙伴链接类型

合作伙伴链接类型 将说明两个服务之间的会话关系。合作伙伴链接类型可以拥有一个或两个角色。

  • 如果合作伙伴链接类型有一个角色,那么关系涉及希望与任何其他服务交互的服务,同时不会对其他服务设置任何需求。
  • 如果合作伙伴链接类型有两个角色,那么关系涉及两个同位体服务。

角色描述合作伙伴在关系中的功能。例如,在供求场景中,合作伙伴链接类型可以有两个角色:BuyerSeller

一个角色必须指定服务用于接收消息的端口类型。

要自动添加合作伙伴链接类型

  1. 执行以下任一项任务,就会自动生成合作伙伴链接类型。此合作伙伴链接类型有一个默认角色。
    • 从头开始创建 WSDL 文件。
    • 创建端口类型。
  2. (可选)要添加另一个角色,请执行以下操作:
    1. 右击合作伙伴链接节点并选择“添加”>“角色”。
    2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
    3. 选择角色。
    4. (可选)更改默认名称。
    5. 指定端口类型。

要手动添加合作伙伴链接类型:

  1. 在 WSDL 视图中,右击“可扩展性元素”节点并选择“添加”>PartnerLinkType。
    此时合作伙伴链接类型节点将出现在“可扩展性元素”节点下方。此合作伙伴链接类型有一个默认角色。
  2. (可选)要添加另一个角色,右击合作伙伴链接类型并选择“添加”> role。
  3. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  4. 对于各个角色,执行以下操作:
    1. 选择角色。
    2. (可选)更改默认名称。
    3. 指定端口类型。

回到顶部

使用 WSDL 视图配置属性和属性别名

BPEL 服务引擎使用名为 关联 的机制跟踪 BPEL 进程及其合作伙伴服务之间经常发生的多个、有状态的、长运行时间的消息交换。

在 BPEL 进程中启用关联的过程包括以下初始步骤,这些步骤必须在 WSDL 文件中执行:

  • 在 WSDL 文件中定义一个或多个属性。
    属性在业务数据和可以在 BPEL 进程的全局上下文中扮演重要角色的名称之间创建关联。每个属性都由全局惟一的名称(例如,claimNumberProperty)和类型(例如,xsd:string)组成。
  • 在 WSDL 文件中定义属性别名。
    属性别名将特定的属性映射到消息部分中的特定的元素或特性。创建属性别名时,必须指定属性和消息。

在 WSDL 文件中执行这些步骤之后,即可在 BPEL 进程中设置关联集。关联集引用一个或多个属性。然后此关联集即可被消息活动(Invoke、Reply 和 Receive)和 Pick 元素的 onMessage 分支使用。

  • 还可以使用 BPEL 设计器Navigator 向 WSDL 文件添加属性和属性别名。有关更多信息,请参阅 IDE 联机帮助中的“Adding Properties and“属性别名”es to WSDL Files Using the Navigator”主题。

向 WSDL 文件添加属性:

  1. 在 WSDL 视图中,右击“可扩展性元素”节点并选择“添加”>“属性”。
    此时属性节点将出现在“可扩展性元素”节点下方。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 选择属性节点。
  4. 设置名称属性。
  5. 可以将 ElementOrType 属性设置为内置简单类型,如 stringdate。如果您添加了一个内联模式或者导入了一个模式,那么就可以从该模式中选择类型。

向 WSDL 文件添加属性别名:

  1. 在 WSDL 视图中,右击“可扩展性元素”节点并选择“添加”>“属性别名”。
    此时属性别名节点将出现在“可扩展性元素”节点下方。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 选择属性别名节点。
  4. 为 propertyName 和 ElementOrTypeOrMessagePart 属性指定值。这些属性允许您将消息的数据映射到属性值。
  5. 要添加查询,右击属性别名节点并选择“添加”>“查询”。
    此时将出现查询节点。查询节点允许您设置查询语言和查询文本。

回到顶部

发现是否使用 WSDL 组件

可以快速确定 WSDL 文件中是否使用了 WSDL 组件。

要发现是否使用了 WSDL 组件:

  1. 在 WSDL 视图中,右击组件并选择“查找用法”。
    “用法”窗口将在 IDE 的底部打开。此窗口有三个部分:
    • 工具栏。 工具栏按钮允许您刷新窗口中的信息、展开和折叠树窗格中的节点以及遍历已知用法。
    • 树窗格。 树窗格包含查询结果的节点。
    • 图形窗格。 图形窗格显示结果的图形表示。
  2. 要缩小,在图像中右击并向上拖动。要放大,在图像中右击并向下拖动。
  3. 要摇动,单击并向任何方向拖动。
  4. 要拖动节点,单击并拖动此节点。

回到顶部

添加文档

可以向任何 WSDL 语言元素添加文档。

要添加文档。

  1. 在 WSDL 视图中,右击元素并选择“添加”>“文档”n。
    此时将出现文档节点。
  2. 如果“属性”窗口不可见,则选择“窗口”>“属性”。
  3. 选择文档节点。
  4. 输入文档文本。

回到顶部

在 WSDL 视图中使用发现

可以在当前的 WSDL 文件中搜索 WSDL 组件。

可以定义要执行的发现类型:

  • 搜索选定的内容。 从 WSDL 视图中最近选定的组件启动发现操作。
  • 使用正则表达式。 输入到文本字段的段落被看作正则表达式,并且区分大小写。

有关正则表达式的更多信息,请参阅 IDE 联机帮助中的“Regular Expressions For Finding and Replacing Text”主题。

要搜索 WSDL 组件:

  1. 从 IDE 的主菜单,选择“编辑”>“查找”。还可以按下 Ctrl-F 键。
    “查找”栏将在 WSDL 视图的底部打开。
  2. 在“查找”框中,单击放大镜图表并选择想要执行的搜索类型:“组件名称”、“组件类型”、“属性声明”或“属性值”。
  3. 如果希望从特定点发现匹配,那么在 WSDL 视图中选择组件,单击放大镜图表,并选择“搜索选择”n。
  4. 如果希望使用正则表达式,那么单击放大镜图标并选择“使用正则表达式”。
  5. 在“查找”框中,键入文本或正则表达式并按回车。
    IDE 将发现任何匹配的组件并在 WSDL 视图中高亮显示这些匹配。
  6. 要遍历匹配的组件,使用“查找下一个”和“查找上一个”按钮。

搜索之后清除高亮显示:

  • 在“查找”栏中,单击“消除”。
    WSDL 视图中将删除高亮显示。

回到顶部

“合作伙伴”视图

WSDL 编辑器中的“合作伙伴”视图将 WSDL 文件中的抽象元素表示成合作伙伴之间的交互。

抽象元素包括合作伙伴链接类型、角色、端口类型、操作和消息。

合作伙伴链接类型 将说明两个服务之间的会话关系。角色 描述服务在关系中的功能。合作伙伴链接类型可以拥有一个或两个角色。

  • 客户端/服务器。 在这种交互类型中,合作伙伴链接类型有一个角色。此角色表示服务器。服务器可以被一个或多个未指定的客户端调用。
  • 对等计算。 在这种交互类型中,合作伙伴链接类型有两个角色。每个角色表示一个对等服务。

一个角色必须指定服务用于接收消息的端口类型。端口类型包含 web 服务可以执行的一个或多个相关操作。WSDL 编辑器支持以下类别的操作:

  • 请求-响应。该操作将接收一条消息作为输入,并发送一条消息作为输出。
  • 单向。该操作将接收一条消息作为输入。

WSDL 文件的具体元素(也就是绑定和服务)描述如何调用抽象元素定义的功能。创建仅包含抽象元素的 WSDL 文件是一种有效的设计方法。可以在部署时通过使用 Composite Application Service Assembly(CASA)编辑器定义具体元素。这样,如果必须在某些时刻更改绑定,不必修改项目即可完成。

回到顶部

定义抽象元素的策略

在 WSDL 编辑器的“合作伙伴”视图中,可以以合作伙伴交互为开始或以合作伙伴交流的消息为开始定义抽象元素。

要以合作伙伴交互为开始定义抽象元素:

  1. 创建合作伙伴链接类型。此合作伙伴链接类型包含一个默认角色,它出现在右侧。如果希望定义对等交互,那么必须在左侧添加另一个角色。
  2. 选择或创建端口类型和操作。
  3. 创建将从一个合作伙伴传送到另一个合作伙伴的消息。
  4. 将消息指派给合作伙伴链接类型的操作。
  5. 指定消息部分的数据类型。注意,可以创建或使用“导航”窗口导入 XML 模式,然后将模式元素或类型拖动到消息中。

要以消息为开始定义抽象元素:

  1. 创建或使用“导航”窗口导入 XML 架构。
  2. 创建将从一个合作伙伴传送到另一个合作伙伴的消息。注意,可以将架构元素或类型从“导航”窗口拖动到消息中。
  3. 创建合作伙伴链接类型。此合作伙伴链接类型包含一个默认角色,它出现在右侧。如果希望定义对等交互,那么必须在左侧添加另一个角色。
  4. 选择或创建端口类型和操作。
  5. 将消息指派给合作伙伴链接类型的操作。

回到顶部

“合作伙伴”视图布局

WSDL 编辑器的“合作伙伴”视图有以下组件:

  • 工具栏。 工具栏位于“合作伙伴”视图的顶端,正好位于 WSDL 文件的选项卡下方。
  • “合作伙伴链接类型”: WSDL 文件中的每个合作伙伴链接类型都有一个配置框。
  • “消息”: WSDL 文件中的每个消息都有一个配置框。
  • “组件面板”: 包含合作伙伴链接类型、操作和消息图表。要显示“组件面板”,从 IDE 的主菜单选择“窗口”>“组件面板”。

可以展开或折叠配置框。当框被折叠时,单击向下箭头可展开此框。当框被展开时,单击向上箭头可折叠此框。

IDE 的“导航”窗口提供当前所选文件的压缩视图,简化了在文件不同部分之间的导航。对于 WSDL 文件,“导航”有两个视图:WSDL 和 XML。

“导航”窗口的 WSDL 视图与 WSDL 编辑器的 WSDL 视图相同。

“导航”窗口的 WSDL 视图

XML 视图使用树结构表示 WSDL 文件中的 XML 标记。

“导航”窗口的 XML 视图

要显示 Navigator,从 IDE 的主菜单选择“窗口”>“导航”。

回到顶部

在“合作伙伴”视图中导航

可以从“合作伙伴”视图的工具栏执行以下任务:

“合作伙伴”视图工具栏

  • 设置放大倍数。最低的放大倍数为 33%。最高的放大倍数为 200%。
    • 要设置放大倍数,以便整个图像适合在可见区域显示,单击“适合大小”图标。
    • 要设置放大倍数,以便图像宽度适合可见区域,单击“适合宽度”图标。
    • 要将放大倍数设置为 100%,单击 100% 图标。
    • 要将放大倍数设置为预定义的百分比,从下拉框中选择此百分比。
    • 要将放大倍数设置为 33 和 200 之间的任何值,请在下拉框中输入此百分比。
    • 要增加放大倍数,单击“放大”图标。
    • 要降低放大倍数,单击“缩小”图标。
  • 显示或隐藏合作伙伴链接类型。
  • 显示或隐藏消息。
  • 验证 WSDL 文件。验证工具检查 WSDL 文件的语法和语义是否存在问题。“输出”窗口显示任何错误或警告。

如果右击组件并选择“转到源”,此时将出现“源”视图,其中光标位于组件代码块的开始。

如果右击组件并选择“转到 WSDL”,那么 WSDL 视图将出现,并且高亮显示相应的节点。

在“合作伙伴”视图中执行一项操作之后,通过从 IDE 的主菜单选择“编辑”>“撤消”(Ctrl-Z),可以逆转此操作。通过从 IDE 的主菜单中选择“编辑”>“重做”(Ctrl-Y),可以逆转撤销操作。

通过使用 IDE 的标准打印功能,可以打印“合作伙伴”视图的内容。

回到顶部

使用“合作伙伴”视图创建合作伙伴链接类型

“合作伙伴”视图中的“合作伙伴链接类型”区包含 WSDL 文件中各个合作伙伴链接类型的配置框,每个文件都有一个配置框。

合作伙伴链接类型的配置框
单击以放大

合作伙伴链接类型可以拥有一个或两个角色。第一个角色出现在配置框的右侧。如果包含,则第二个角色出现在配置框的左侧。

角色的端口类型出现在角色下方。一个端口类型有一个或多个操作,它显示在端口类型下方的区域。实心的水平箭头表示一条输入消息。虚线水平箭头表示一条输出消息。

如果操作是请求-相应操作,那么可以选择添加默认值。虚线水平箭头表示一条默认消息。

  • 配置框与统一建模语言(Unified Modeling Language,UML)中的序列图非常相似。

来自导入的 WSDL 文件的合作伙伴链接类型不会在“合作伙伴”视图中出现。

要创建有一个角色合作伙伴链接类型:

  • 如果 WSDL 文件包含一个没有与合作伙伴链接类型关联的端口类型,那么“合作伙伴链接类型”区将出现“自动创建”按钮。要生成引用此端口类型的合作伙伴链接类型,单击“自动创建”。
  1. 执行以下操作之一:
    • 单击“添加合作伙伴链接类型”。
    • 将“合作伙伴链接类型”图标从“组件面板”拖放到“合作伙伴链接类型”区的空白部分。
    • 右击“合作伙伴链接类型”区的空白部分,并选择“添加合作伙伴链接类型”。
    此时将出现此合作伙伴链接类型的配置框。此合作伙伴链接类型包含一个默认角色。
  2. 在配置框的右侧,指定服务用来接收消息的端口类型。要创建新的端口类型,双击“输入或选择一个端口类型”,然后输入名称。要使用现有端口类型,单击“输入或选择一个端口类型”并从下拉菜单中选择端口类型。
  3. 如果创建新的断口类型,或者如果希望向现有端口类型添加一个或多个操作,那么执行以下操作:
    1. 将一个或多个操作从“组件面板”中拖动到端口类型下方展开的垂直虚线上。
    2. 为每个操作,选择消息。可以双击 <No Message Selected>,从下拉列表中选择消息。或者,可以将消息从“导航”窗口拖动到 <No Message Selected>

要向合作伙伴链接类型添加另一个角色:

  1. 在配置窗口的左侧,双击 [External Partner] 并输入角色名称。
  2. 在配置框的左侧,指定服务用来接收消息的端口类型。要创建新的端口类型,双击“输入或选择一个端口类型”,并输入名称。要使用现有端口类型,单击“输入或选择一个端口类型”并从下拉菜单中选择端口类型。
  3. 如果创建新的断口类型,或者如果希望向现有端口类型添加一个或多个操作,那么执行以下操作:
    1. 将一个或多个操作从“组件面板”中拖动到端口类型下方展开的垂直虚线上。
    2. 为每个操作,选择消息。可以双击 <No Message Selected>,从下拉列表中选择消息。或者,可以将消息从“导航”窗口拖动到 <No Message Selected>

向请求-响应操作添加默认值:

  1. 右击操作名称,并选择“添加故障”。
    此时将出现默认值。
  2. 双击 <No Message Selected>
  3. 选择默认消息。

回到顶部

使用“合作伙伴”视图编辑合作伙伴链接类型

“合作伙伴”视图中的“合作伙伴链接类型”区允许您修改或删除 WSDL 文件中的合作伙伴链接类型、角色、端口类型和操作。

要更改合作伙伴链接类型、角色、端口类型或操作的名称:

  • 本步骤将重命名相同 WSDL 文件中所有出现过的此名称。如果希望重命名相同 WSDL 文件中所有出现过的此名称以及所有关联的 XSD、WSDL 和 BPEL 文件,那么右击该组件并选择“重新构造”>“重命名”。
  1. 双击合作伙伴链接类型名称、角色名称、端口类型名称或操作名称。
  2. 更改名称。
  3. 按回车。

要删除操作:

  • 执行以下操作之一:
    • 选择此操作并按“删除”。
    • 右击此操作并从弹出菜单中选择“删除”。

要删除端口类型:

  • 执行以下操作之一:
    • 选择此端口类型并按“删除”。
    • 右击此端口类型并从弹出菜单中选择“删除”。
    配置框的端口类型区变成未配置状态。

要删除角色:

  • 执行以下操作之一:
    • 选择此角色并按“删除”。
    • 右击此角色并从弹出菜单中选择“删除”。
    配置框的角色区变成未配置状态。

要删除合作伙伴链接类型:

  • 执行以下操作之一:
    • 选择此合作伙伴链接类型的配置框并按“删除”。
    • 右击此合作伙伴链接类型的配置框并从弹出菜单中选择“删除”。

回到顶部

使用“合作伙伴”视图创建消息

“合作伙伴”视图中的“消息”区包含 WSDL 文件中消息的配置框,每个消息均有一个配置框。

两个消息的配置框

在 WSDL 文件中,端口类型包含 web 服务可以执行的一个或多个相关操作。操作接收消息和/或发送消息。

每条消息都包含一个或多个逻辑部分。对于各个部分,您必须指定内容的名称和类型。

要创建消息:

  1. 执行以下操作之一:
    • 单击“添加消息”。
    • 将“消息”图标从“组件面板”拖动到“消息”区的空白部分。
    • 右击“消息”区的空白部分,并选择“添加消息”。
    此时将出现消息的配置框。消息包含一个部分。此部分的内容类型未定义。
  2. 执行以下操作之一:
    • 在“类型”列的“部分元素”中,单击省略号(...) 按钮。选择 W3C XML 模式中的任何内置类型。如果您添加了一个内联模式或者导入了一个模式,那么就可以从该模式中选择元素或类型。单击“确定”。
    • 将元素或类型从“导航”窗口拖动到“部分元素”或“类型”列。

要向消息添加一个部分:

  • 执行以下操作之一:
    • 单击“添加部分”。
      将出现一个新行。内容类型被设置为 xs:string
    • 右击此消息的配置框并从弹出菜单中选择“添加部分”。
      将出现一个新行。内容类型未定义。
    • 将元素或类型从“导航”窗口拖动到消息的配置框,并使其位于现有行的上方或下方。
      将出现一个新行。内容类型被设置为所选的元素或类型。

回到顶部

使用“合作伙伴”视图编辑消息

“合作伙伴”视图中的“消息”区允许您修改或删除 WSDL 文件中的消息。

要更改消息的名称:

  • 本步骤将重命名相同 WSDL 文件中所有出现过的此名称。如果希望重命名相同 WSDL 文件中所有出现过的此名称以及所有关联的 XSD、WSDL 和 BPEL 文件,那么右击该组件并选择“重新构造”>“重命名”。
  1. 双击此消息的名称。
  2. 更改名称。
  3. 按回车。

要更改部分的名称:

  • 本步骤将重命名相同 WSDL 文件中所有出现过的此名称。如果希望重命名相同 WSDL 文件中所有出现过的此名称以及所有关联的 XSD、WSDL 和 BPEL 文件,那么右击该组件并选择“重新构造”>“重命名”。
  1. 在“部分名称”列中,双击此部分的名称。
  2. 更改名称。
  3. 按回车。

要更改部分的内容类型:

  • 执行以下操作之一:
    • 在“类型”列的“部分元素”中,单击省略号(...) 按钮。选择 W3C XML 模式中的任何内置类型。如果您添加了一个内联模式或者导入了一个模式,那么就可以从该模式中选择元素或类型。单击“确定”。
    • 将元素或类型从“导航”窗口拖动到“部分元素”或“类型”列。

要删除部分:

  • 执行以下操作之一:
    • 选择此部分并按“删除”。
    • 选择此部分并单击“删除部分”。
    • 右击此部分并从弹出菜单中选择“删除”。

要删除消息:

  • 执行以下操作之一:
    • 选择此消息的配置框并按“删除”。
    • 右击此消息的配置框并从弹出菜单中选择“删除”。

回到顶部

使用 WSDL 文件

从头开始创建 WSDL 文件

从头开始创建 WSDL 文件时,向导包含三个可供填充的页面。

  • “名称和位置”页面提示您输入关于此 WSDL 文件的基本信息。
  • “抽象配置”页面提示您定义端口类型、操作和消息。
  • “具体配置”页面提示您定义绑定、服务和端口。

这三个页面不必都填完。可以填写“名称和位置”页面,然后单击“完成”。也可以填写“名称和位置”页面和“抽象配置”页面,然后单击“完成”。

要从头开始创建 WSDL 文件:

  1. 在“项目”窗口中,右击“流程文件”节点并选择“新建”>“WSDL文档”。
  2. 在“新建”>“WSDL文档”向导页中,执行以下操作:
    1. 为文件输入一个名称。此名称必须遵守 NCName 数据类型的规则。不能输入项目中已经存在的名称。
    2. (可选)通过单击“浏览”并选择新的文件夹来更改默认文件夹。
    3. 输入此 WSDL 文件的目标名称空间。此目标名称空间将出现在根元素中。
    4. 指定希望导入的任何 XML 模式文件。
    5. 如果希望从向导配置抽象和具体信息,那么单击“下一步”。否则,单击“完成”。
  3. 在“抽象配置”向导页中,执行以下操作:
    1. 为端口类型输入一个名称。
    2. 为操作输入一个名称。
    3. 选择操作类别。
    4. 定义操作接收的输入消息。
    5. 如果操作为请求-响应操作,则定义操作发送的输出消息。
    6. (可选)如果操作为请求-响应操作,则可以定义操作默认发送的输出消息。
    7. 如果希望从向导配置具体信息,那么单击“下一步”。否则,单击“完成”。
  4. 在“具体配置”向导页中,执行以下操作:
    1. 为绑定输入一个名称。
    2. 选择绑定类别。
    3. 选择绑定子类型。选择将根据绑定类型而异。
    4. 为服务输入一个名称。
    5. 为端口输入一个名称。
    6. 单击“完成”。
    就会创建此 WSDL 文件。WSDL 编辑器在 WSDL 视图中出现。
  • 如果创建了 SOAP 绑定,那么端口的 soap:address 节点包括一个“位置”属性。“位置”属性指定端口的地址。向导将为“位置”属性生成虚拟值。“位置”属性必须是惟一的;也就是,该值不能与已部署到同一应用程序服务器的任何其他 WSDL 文件相冲突。

回到顶部

基于现有 WSDL 文件创建 WSDL 文件

代替从头开始创建 WSDL 文件,可以根据现有 WSDL 文件创建 WSDL 文件。

要基于现有 WSDL 文件创建 WSDL 文件:

  1. 在“项目”窗口中,右击“流程文件”节点并选择“新建”>“其他”。
  2. 在“选择文件类型”向导页中,执行以下操作:
    1. 在“类别”列表中,选择 XML 节点。
    2. 在“文件类型”列表中,选择 External WSDL Document(s) 节点。
    3. 单击“下一步”。
  3. 在“指定资源位置”向导页中,执行以下操作:
    • 要根据正在运行的服务创建 WSDL 文件:
      1. 选择“通过 URL”按钮。
      2. 输入此服务的 WSDL 文件的 URL。
      3. 单击“完成”。
    • 要使用本地文件系统上的现有 WSDL 文件创建 WSDL 文件:
      1. 选择“通过本地文件系统”按钮。
      2. 指定此 WSDL 文件所在的文件夹。
      3. 单击“完成”。
    就会创建此 WSDL 文件。WSDL 编辑器在 WSDL 视图中出现。

回到顶部

NCNAME 数据类型

XML 模式包含名为 NCName 的数据类型。任何拥有 NCName 数据类型的名称都必须遵守以下规则:

  • 此名称必须以字母或下划线(_)开头。
  • 此名称其余部分的有效字符如下:
    • 字母
    • 阿拉伯数字
    • 句点(.)
    • 连字符(-)
    • 下划线(_)

回到顶部

使用重构来重命名或删除 WSDL 组件

通过使用以下方法,可以执行重构:

  • 重命名: 允许您重命名相关 XSD、WSDL 和 BPEL 文件中所有出现过的此名称。
  • 安全删除: 允许您在执行删除之前检查对此组件的引用。
  • 撤消: 执行重命名或安全删除操作后,可以撤销此操作。
  • 重做: 撤销重命名或安全删除操作后,可以恢复此操作。

显示重构选项的菜单

还可以通过更改“名称”属性的值,重命名组件。WSDL 编辑器将重命名同一文件中所有出现过的此名称,但是不管其他文件。

回到顶部

验证 WSDL 文件

WSDL 编辑器包含一个验证工具。验证工具检查 WSDL 文件的语法和语义是否存在问题。

要验证 WSDL 文件:

  1. 显示 WSDL 编辑器中的任何视图。
  2. 在工具栏中,单击“验证 XML”按钮。
    “输出”窗口显示任何错误或警告。

回到顶部

更多信息



>> 更多 SOA 文档


回到顶部

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by