在WebLogic Workshop上创建WSDL
1. 在项目树上,右键单击Web服务,选择“Generate WSDL from JWS”(从JWS生成WSDL)。这样就可以为Web服务创建一个WSDL。每创建一个WSDL,项目树都会将其作为Web服务的子项显示出来。
WebLogic Workshop使用一种特殊的命名约定为WSDL文件和CTRL文件(后面将加以讨论)命名。如果Web服务名为Service.jws,那么该服务的WSDL文件将被命名为ServiceContract.wsdl,而CTRL文件将被命名为ServiceControl.ctrl。
在Visual Studio .NET中创建WSDL
1. 从菜单中选择Debug/Start或者按F5,在浏览器中打开Web服务。
2. 右键单击IE中的“Service Description”链接,选择“Save Target AS”。输入文件名,注意该文件名的后缀应为.wsdl。
即使最简单的Web服务,它的WSDL文件也是非常复杂的。幸运的是,我们在使用使用Web服务时不需要知道WSDL的详细情况。
在WebLogic Workshop上调用.NET服务
WegLogic Workshop和Visual .NET都各有一套机制,通过这种机制可以使用WSDL以及调用该WSDL所指向的Web服务。在WebLogic Workshop下,必须创建一个服务控件(Service Control);在Visual .NET中,对应的是Web引用(Web Reference)。本节将讨论如何为WSDL文件创建服务控件,该服务控件可用于下层的Web服务。下一节将讨论Web引用。
从WSDL创建服务控件
1. 在设计视图中,单击下拉菜单中的“Add Control”,并选择“Service Control”。
2. 在第一个文本框中输入控件的变量名,该变量名将用于指向源代码中的控件。
3. 选择组合框中的“Create a service control from a WSDL”选项,并在文本框中输入WSDL的路径。也可以通过“Browse”按钮来查找WSDL的位置。
4. 单击“Create”按钮。
当创建服务控件时,在Web服务中将会增加以下一行代码:
DotNetExampleControl dotNetExample;
记住控件变量的名称,因为你将用这个变量名来调用.NET Web服务。现在你可以添加一个通过服务控件调用.NET Web服务的方法,调用的形式可以是这样的:
public String callDotNet()
{ return dotNetExample.getHelloMessage(); }
完成这些步骤之后,就应该可以得到这样的一个WebLogic Workshop Web服务:
public class WLWClient
{
/** @jws:control */
private DotNetExampleControl dotNetExample;
/** @jws:operation */
public String callDotNet()
{ return dotNetExample.getHelloMessage(); }
}
