5. 选择
Applications => Enterprise Applications,以返回应用程序列表,并启动此应用程序。图 11 显示了所安装的示例 SCA 应用程序。
图 11. 安装在 WebSphere Process Server 中的示例应用程序
|
|
Microsoft .NET 的设置与其他环境的设置略微不同。要发现来自 Microsoft .NET 的服务,必须在 Microsoft .NET 环境中启用动态服务发现(Dynamic Service Discovery,DISCO)。首先,安装 Microsoft IIS,然后完成以下所述操作,以配置计算机 3。
1. 打开命令窗口,并将目录更改为 <installation_drive >\WINDOWS\Microsoft.NET\Framework\<version >。
2. 键入
aspnet_regiis.exe -i。控制台将显示消息
Start installing ASP.NET。
3. 过程完成后,控制台将显示消息
Finished installing ASP.NET。
4. 如果使用的是 Microsoft Windows Server 2003,请将 ASP.NET 状态设置为
allowed。为此,请打开 IIS Manager,选择 Web Service Extension 文件夹并将 ASP.NET 的状态设置为
allowed。
.vsdisco 就是启用 Web 服务动态发现的 DISCO 文件。如果客户端计算机请求 XML Web 服务动态发现文件 (.vsdisco),Microsoft .NET Framework 将分析包含文件的文件夹,然后生成作为响应的 XML 文件。响应文件包含对该文件夹及其子文件夹中的所有 Web 服务的引用。
关于安全性的说明:启用动态发现时,Web 服务器上所请求 URL 下的所有 Web 服务和发现文档都可以被发现。因此,在启用动态发现时,必须非常谨慎,因为如果 Web 服务所在的网络不是具有防火墙的安全网络,则可能会意外地公开敏感数据。有关使用 .vsdisco 文件时的安全注意事项,请参见参考资料。
要配置动态发现,需要两个步骤:
1. 向网站的根目录添加 web.config 文件。清单 1 显示了此文件内容的一个示例。
|
<!– web.config –> <configuration> <system.web> <httpHandlers> <add verb=”*” path=”*.vsdisco” type=”System.Web.Services.Discovery.DiscoveryRequestHandler, System.Web.Services, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” validate=”false”/> </httpHandlers> </system.web> </configuration>
|
2.
3. 在包含 Web 服务的任意目录中添加一个动态发现文件。清单 2 显示了此文件内容的一个示例。
清单 2. 动态发现文件
|
<?xml version=”1.0″ encoding=”utf-8″ ?> <dynamicDiscovery> <add xmlns=”urn:schemas-dynamicdiscovery:disco.2000-03-7″/> </dynamicDiscovery>
|
图 2 中给出了一个示例目录结构。左侧红色的矩形突出显示了包含 Web 服务的虚拟目录。右侧红色的矩形突出显示了添加到目录中的 web.config 和 webservice.vsdisco 文件。
图 12. IIS 服务的目录结构
虚拟目录 webserviceroot 的物理结构如图 13 中所示。此结构中有两个动态发现文件:其中一个是位于根目录的 webservice.vsdisco 文件,另一个是位于 innerinner 子目录中的 innerservice.vsdisco 文件。
图 13. 虚拟目录 webserviceroot 的结构
客户端请求 webservice.vsdisco 文件时,将生成 XML 响应。清单 3 显示了其结果。请注意,结果中包含三个对 XML Web 服务的引用和一个对动态发现文件的引用。
Web 服务 helloservice 和 helloworld 都位于根目录 (webserviceroot) 中。Web 服务 innerservice 位于第一级子目录中。这些 Web 服务都将被发现。
不过,Web 服务 SecondInnerService(位于第二级子目录 innerinner 中)和 ThirdInnerService(位于第三级子目录 thirdinner 中)将不会直接被发现。取而代之,将返回对动态发现文件 innerservice.vsdisco 的引用。动态发现在根目录及其子目录中工作。即,其工作子目录深度为一。对于更大的深度,需要更多的 .vsdisco 文件。
发现这两个 web 服务的工作交由 innerservice.vsdisco 文件负责,如清单 3 中所示。
清单 3. innerservice.vsdisco 文件
|
<?xml version=”1.0″ encoding=”utf-8″ ?> <discovery> <add xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://schemas.xmlsoap.org/disco/”> <contractRef>
docRef=”http://127.0.0.1/webservice/helloservice.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <contractRef>
docRef=”http://127.0.0.1/webservice/helloworld.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <contractRef>
docRef=”http://127.0.0.1/webservice/innerservice/innerservice.asmx” xmlns=”http://schemas.xmlsoap.org/disco/scl/”/> <discoveryRef>
innerservice.vsdisco”/> </discovery>
|
对于 SSL 安全配置,我们将使用服务器身份验证和客户端身份验证。完成以下步骤,以配置 IIS 和启用 SSL 安全性。
1. 右键单击
Default Web Site => Properties。在
Directory Security 选项卡的 Secure Communications 部分中,单击
Server Certificate。创建新证书,填写相关材料,然后将证书保存到本地磁盘上。服务器将证书请求提交到证书颁发机构(Certificate Authority,CA)。CA 处理请求后,将会向您颁发证书。
以下文章点击率最高
Loading…




