在Visual Studio .NET中创建WSDL
1. 从菜单中选择Debug/Start或者按F5,在浏览器中打开Web服务。
2. 右键单击IE中的“Service Description”链接,选择“Save Target AS”。输入文件名,注意该文件名的后缀应为.wsdl。
即使最简单的Web服务,它的WSDL文件也是非常复杂的。幸运的是,我们在使用使用Web服务时不需要知道WSDL的详细情况。感兴趣的读者,可以在http://www.w3.org/TR/wsdl上找到完整的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服务中将会增加以下一行代码:
/** @jws:control */DotNetExampleControl dotNetExample;
记住控件变量的名称,因为你将用这个变量名来调用.NET Web服务。现在你可以添加一个通过服务控件调用.NET Web服务的方法,调用的形式可以是这样的:
** @jws:operation */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(); }}
如果.NET Web服务正在运行,你应该就可以运行上述Web服务了,并且可以通过callDotNet方法跨平台调用.NET Web服务。CallDotNet方法将返回一个响应消息,该消息包含了.NET的问候消息:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <getHelloMessageResponse xmlns="http://tempuri.org/"> <getHelloMessageResult> Hello from VisualStudio.NET! </getHelloMessageResult> </getHelloMessageResponse> </soap:Body></soap:Envelope>
从.NET调用WebLogic Workshop服务
前面我们在WebLogic Workshop平台上调用了一个.NET平台上的Web服务,接下来将介绍在.NET平台上调用WebLogic Workshop平台上的Web服务。在WebLogic Workshop上,我们通过服务控件来调用外部的另一个Web服务;在.NET上,我们将采用Web引用。
网络医生成长记:网络故障快速定位
0
相关文章