怎么生成wsdl文件,别人得到这个文件后又怎么根据该文件使用我的webservice?

redwrite 2009-03-24 04:11:24
1 我做了一个webserivce,请问怎么得到wsdl文件,是不是我另外开一个项目,引用这个webservice后,临时工程里的文件夹就会出生一个扩展名为wsdl的文件,把文件夹中的那个扩展名为wsdl的文件拿出来就行了?(我但心这样做了发给别人,别人用不了)
2 我把这个wsdl文件发给别人,别人怎么通过这个文件来使用我做的webservice?

请使用过的人帮我看看,谢谢。
...全文
37537 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
redwrite 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 FAFA2008 的回复:]
这是MSDN上创建WEB SERVICE的详细步骤你可以演练一下,希望对你有帮助

创建 ASP.NET Web 服务项目
在“文件”菜单上,选择“新建网站”。

在“新建网站”对话框中,选择“ASP.NET Web 服务”图标。

输入要在其中开发 XML Web services 的 Web 服务器地址,并将 TempConvert1 指定为目录名,如“http://MyServer/TempConvert1”。默认情况下,项目使用本地计算机“http://localhost”。

注意:
对于某些项目类型,“…
[/Quote]

你真是太可爱了
FAFA2008 2009-03-24
  • 打赏
  • 举报
回复
这是MSDN上创建WEB SERVICE的详细步骤你可以演练一下,希望对你有帮助

创建 ASP.NET Web 服务项目
在“文件”菜单上,选择“新建网站”。

在“新建网站”对话框中,选择“ASP.NET Web 服务”图标。

输入要在其中开发 XML Web services 的 Web 服务器地址,并将 TempConvert1 指定为目录名,如“http://MyServer/TempConvert1”。默认情况下,项目使用本地计算机“http://localhost”。

注意:
对于某些项目类型,“名称”文本框不可用,因为在指定位置时就设置了项目名。例如,Web 应用程序和 XML Web services 位于 Web 服务器上,并从该服务器上指定的虚拟目录导出它们的名称。

注意:
在开发服务器上开发 XML Web services。默认情况下,开发服务器是本地计算机。通常在开发服务器上开发并生成项目,然后使用部署项目将它部署到承载 XML Web services 的另一个服务器(部署服务器)。但是,如果直接在将承载 XML Web services 的服务器上进行开发,则开发服务器与部署服务器相同。


单击“确定”创建项目。

Visual Studio 自动创建必要的文件并包括支持 XML Web services 所需的引用。在 Visual Studio 中创建 XML Web services 项目时,可以看到 Service1.asmx 的组件设计器。

实现 XML Web services
下一步是编写代码以实现客户端将访问的 XML Web services 的功能。对于在 Visual Studio 中创建的 XML Web services,与 Visual Studio 创建的 XML Web services 的 .asmx 文件关联的隐藏的代码隐藏文件将包含该代码。有关更多信息,请参见如何:创建 XML Web services 方法。

添加 XML Web services 方法
在 Service.vb 代码文件中定位 Service 类声明的代码。在类声明的前面,将 System.Web.Services.WebService 属性代码替换为以下代码(以粗体部分显示):

C# 复制代码
[System.Web.Services.WebService(
Namespace="http://Walkthrough/XmlWebServices/",
Description="A temperature conversion service.")]
public class Service : System.Web.Services.WebService


将 WebService 属性附加到 Public 类将使得可以包括有关 XML Web services 的其他信息,如 XML Web services 的命名空间以及 XML Web services 的说明。该属性的说明属性包含在服务帮助页中。有关更多信息,请参见如何:使用 WebService 属性。

在 Service 类中,添加以下代码以声明 ConvertTemperature 函数:

C# 复制代码
[WebMethod(Description="This method converts a temperature in " +
"degrees Fahrenheit to a temperature in degrees Celsius.")]
public double ConvertTemperature(double dFahrenheit)
{
return ((dFahrenheit - 32) * 5) / 9;
}


将 WebMethod 属性附加到 Public 方法将使该方法作为 XML Web services 的一部分公开。该属性的说明属性包含在服务帮助页和服务方法帮助页中。有关更多信息,请参见如何:使用 WebMethod 属性。

在“解决方案资源管理器”中右击 Service.asmx,再在快捷菜单上单击“设为起始页”。

保存解决方案。

调试 XML Web services
Visual Studio 提供多种从 IDE 中生成并运行 XML Web services 的方法,如:

开始执行(带调试)

开始执行(不调试)

在浏览器中查看

作为 Visual Studio 项目,此 XML Web services 的发布版本和调试版本的配置各不相同。由于创建此项目时使用的是 ASP.NET Web 服务项目模板,因此 Visual Studio 自动创建这些配置并设置适当的默认选项和其他设置。有关更多信息,请参见如何:设置调试和发布配置。

本演练中,您将在 XML Web services 中放置一个断点,并使用“开始执行(带调试)”方法。有关更多信息,请参见如何:使用托管代码调试 XML Web services。

调试前,请验证调试设置。有关更多信息,请参见调试准备:XML Web services 项目。

使用断点并启动 XML Web services,同时进行调试
在“调试”菜单上,选择“新建断点”,然后选择“在函数处中断”。

在“函数”选项卡上,在“函数”框中键入 ConvertTemperature,并单击“确定”以在 ConvertTemperature 方法声明中添加一个断点。

在“调试”菜单上单击“启动”,然后在“未启用调试”窗口中单击“确定”以启动调试。

该命令指示 Visual Studio 在调试器中运行 XML Web services。Visual Studio 生成项目并将其部署到指定的开发服务器中。完成后,默认的浏览器会显示部署服务器的 .asmx 文件。

在浏览器中打开 .asmx 文件时,XML Web services 会返回一个服务帮助页,提供有关 XML Web services 的信息。“服务说明”链接连接至包含 XML Web services 的正式服务说明的 XML 文档。有关更多信息,请参见 XML Web services 说明。

在服务帮助器页上,单击 ConvertTemperature 链接。

在 dFahrenheit 框中键入数字 212,再单击“调用”按钮。

当处理到达 ConvertTemperature 函数时,处理停止。Visual Studio 调试器突出显示包含断点的行,在该调试器暂停时,您可以执行各种任务。有关更多信息,请参见调试器指南和查看调试器中的数据。

在“调试”菜单上单击“继续”可继续进行处理。

XML Web services 将以返回 XML 文档中的转换值的方式做出响应,如下所示:

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<double xmlns="http://Walkthrough/XmlWebServices/">100 </double>


若要停止运行 XML Web services 并返回到代码编辑器,请在“调试”菜单上单击“停止调试”。

在“调试”菜单上单击“删除所有断点”。

部署 XML Web services
若要使 XML Web services 可由他人使用,必须将其部署到您希望支持的客户端可访问的 Web 服务器。若要将 XML Web services 部署到开发服务器以外的服务器,可以添加 Web 安装项目或者将所需的文件复制到目标服务器。本演练中,可以选择部署此 XML Web services 的方式。有关更多信息,请参见如何:使用托管代码部署 XML Web services。

使用 Web 安装项目部署 XML Web services
在“文件”菜单上,指向“添加”,再单击“新建项目”。

选择“其他”节点,再选择“安装和部署项目”节点,再单击“Web 安装项目”。

在“名称”框中键入 TempConvert1WebSetup,再单击“确定”。

注意:
默认情况下,在部署服务器上创建虚拟目录时,安装程序将使用部署项目名称。


在“文件系统编辑器”的左窗格中选择“Web 应用程序文件夹”。有关更多信息,请参见文件系统编辑器。

在“解决方案资源管理器”中右击 TempConvert1WebSetup,指向“添加”,再单击“项目输出”。

在“添加项目输出组”对话框中,选择“内容文件”。有关更多信息,请参见如何:在文件系统编辑器中添加和移除项目输出。

“内容文件”组由以下 XML Web services 的文件组成:Service1.asmx、Global.asax 和 Web.config。有关更多信息,请参见如何:使用托管代码部署 XML Web services。

单击“确定”。

在“解决方案资源管理器”中右击 TempConvert1WebSetup 项目,然后在快捷菜单上单击“生成”。

该操作将在本地项目目录中创建一个 Windows Installer 文件。执行该文件即可安装 Web 应用程序。

通过复制项目来部署 XML Web services
在“解决方案资源管理器”中,选择“TempConvert1”项目。

在“项目”菜单上单击“复制网站”。

单击“连接到”下拉框旁边的图标来打开“打开网站”对话框。浏览到要复制项目的目标位置。

在“源网站”窗格中,选择要复制的文件,并通过单击右箭头图标将它们移到“远程网站”窗格中。.

单击“复制网站”以复制该网站。
redwrite 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wsmall1 的回复:]
首先把你的web服务放到别人能访问到的服务器上,比如内部局域网就放在内部服务器上,公网就放在公网的服务器上,总之要让别人能访问到。
重新生成一次WSDL,别人看到的就不会是localhost的了
如果你的web服务还没有发布,你也可以预先把服务器的访问地址大家一起约定好
[/Quote]

我好像有点理解了

请问一下别人怎么根据这个wsdl文件来调用我的webserive呢?
(我在网上查了,别人的系统如果是.net的话,是不是用wsdl.exe生成一个cs文件的类,然后来使用?)
wsmall1 2009-03-24
  • 打赏
  • 举报
回复
首先把你的web服务放到别人能访问到的服务器上,比如内部局域网就放在内部服务器上,公网就放在公网的服务器上,总之要让别人能访问到。
重新生成一次WSDL,别人看到的就不会是localhost的了
如果你的web服务还没有发布,你也可以预先把服务器的访问地址大家一起约定好
redwrite 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hongqi162 的回复:]
http://yourwebservices?wsdl
[/Quote]
我发现里面有localhost等字样,我担心到别人那里用不起来,请问怎么设置这个

另外,别人怎么使用这个wsdl文件呢?
hongqi162 2009-03-24
  • 打赏
  • 举报
回复
http://yourwebservices?wsdl

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧