在适配器开发期间或从 LOB 系统返回的元数据发生更改时,查看从适配器返回的 Web 服务描述语言(WSDL)通常很有用,以验证作的元数据是否已正确生成。 有多种方法可以生成 WSDL。 本主题提供有关使用 svcutil.exe 和元数据搜索浏览控件的信息。
使用 svcutil.exe
Svcutil.exe 是 Windows SDK 随附的命令行实用工具,它接受 URL 和可选开关,并返回 WSDL。 下面是使用 svcutil.exe 返回 Echo 适配器 WSDL 的示例:
Svcutil.exe “echov2://lobhostname/lobapplication?enableAuthentication=False” /target:metadata
这会将元数据保存为 Microsoft.Adapters.Samples.Echov2.wsdl。 如果您的适配器有许多操作,您可以选择通过在 URI 中使用“op=OperationName”来仅返回所需的操作。 下面是使用此示例仅返回 EchoStrings 信息的示例:
SvcUtil.exe “echov2://lobhostname/lobapplication?enableAuthentication=False&op=Echo/EchoStrings” /target:metadata
使用元数据搜索浏览控件
元数据搜索浏览控件是 WCF LOB 适配器 SDK 中包含的向导中使用的 Windows 控件。 可以将此控件添加到 Visual Studio 中的任何 Windows 窗体项目中,并使用它选择适配器、所需作,然后生成 WSDL。
打开 Visual Studio 命令提示符。
在“ 文件 ”菜单上,选择“ 新建”,然后单击“ 项目”。
在“新建项目”对话框中,从模板中选择 Windows 应用程序。 输入项目名称,然后单击“ 确定”。
打开 工具箱,展开 “常用控件”,右键单击 “工具箱”,然后单击“ 选择项”。
在“选择工具箱项”对话框中,在 .NET Framework 组件选项卡上找到 MetadataUserControl,选中此项旁边的复选框,然后单击“确定”。
从工具箱中,将 MetadataUserControl 拖动到 Form1。 可能需要调整窗体的大小才能看到整个控件。 现在,您应该能够运行该项目,并验证控件是否正常运行,这样您便可以选择适配器和操作。
若要使用此控件生成 WSDL,必须将代码添加到窗体中,以调用此控件的 GetWsdl 方法。 以下示例演示如何调用 GetWsdl 并将数据保存到文件中:
private void button1_Click(object sender, EventArgs e) { ServiceDescription sd = mdUserControl.GetWsdl(); FileStream myFileStream = new FileStream(tbWsdlFileName.Text, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); sd.Write(myStreamWriter); myStreamWriter.Flush(); myStreamWriter.Close(); MessageBox.Show("WSDL file " + tbWsdlFileName.Text + " is created."); }