关于C# webservice生成wsdl文件的问题

nanlinfeixue 2010-03-19 03:07:16
我写了一个webservice如:
[WebService(Namespace = "http://www.mytest.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class TestWebSrv : System.Web.Services.WebService
{

[WebMethod]
public string HelloWorld(String name)
{
return "Hello World" + name;
}
}
系统自动生成的wsdl中间有两段为:
<s:element name="HelloWorld">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>

<wsdl:message name="HelloWorldSoapIn">
<wsdl:part name="parameters" element="tns:HelloWorld"/>
</wsdl:message>
<wsdl:message name="HelloWorldSoapOut">
<wsdl:part name="parameters" element="tns:HelloWorldResponse"/>
</wsdl:message>
我如何配置才能修改为如下的样子:
<s:element name="HelloWorld" type="tns:HelloWorld" />
<s:complexType name="HelloWorld">

<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
</s:sequence>
</s:complexType>

<wsdl:message name="HelloWorldSoapIn">
<wsdl:part name="HelloWorld1" element="tns:HelloWorld"/>
</wsdl:message>
<wsdl:message name="HelloWorldSoapOut">
<wsdl:part name="HelloWorldResult" element="tns:HelloWorldResponse"/>
</wsdl:message>
...全文
1616 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sarsmir2 2010-04-13
  • 打赏
  • 举报
回复
把namespace改回来试试
a9A9290632 2010-04-08
  • 打赏
  • 举报
回复
在研究05的webservice跟08的wcf有什么不同.
xyq1986 2010-04-01
  • 打赏
  • 举报
回复
写wsdl干什么,客户端直接引用就ok了,要看wsdl,就在浏览器上的地址后再加?wsdl,好像是这样
苏飞论坛 2010-04-01
  • 打赏
  • 举报
回复
不是有生成文件的方法吗,你自动让他生成一个就行了,你只要在客户端添加一个引用然后到,这个目录 下看一下,文件里一般有四个文件,就有一个是WSDN不用你自己写的
nanlinfeixue 2010-03-24
  • 打赏
  • 举报
回复
因为我写的webservice生成的wsdl文件跟别人写的只有这些差异 但是别人的可以调通 我的不行 所以我想知道怎么修改成这个样子
mayonglong 2010-03-22
  • 打赏
  • 举报
回复
lz要做什么呢?
修改它做什么,不懂
利用wsdl.exe生成webservice代理类: 根据提供的wsdl生成webservice代理类 1、开始->程序->Visual Studio 2005 命令提示 2、输入如下红色标记部分 D:\Program Files\Microsoft Visual Studio 8\VC>wsdl /language:c# /n:TestDemo /out:d:\Temp\TestService.cs D:\Temp\TestService.wsdl 在d:/Temp下就会产生一个TestService.cs 文件 注意:D:\Temp\TestService.wsdlwsdl路径,可以是url路径:http://localhost/Temp/Test.asmx?wsdl wsdl参数说明: wsdl.exe ... - 选项 - - 指向 WSDL 协定、XSD 架构或 .discomap 文档的 URL 或路径。 /nologo 取消显示版权标志。 /language: 用于生成的代理类的语言。请从“CS”、“VB”、“JS”、“VJS”、 “CPP”中选择,或者为实现 System.CodeDom.Compiler.CodeDomProvider 的类提供一个完全限定的名称。默认语言为“CS”(CSharp)。 缩写形式为“/l:”。 /sharetypes 打开类型共享功能。此功能针对不同服务之间共享 的相同类型(命名空间、名称和网络签名必须相同) 创建一个具有单一类型定义的代码文件。 请使用 http:// URLs 作为命令行参数来引用 服务,或为本地文件创建一个 discomap 文档。 /verbose 指定 /sharetypes 开关时显示额外信息。 缩写形式为“/v”。 /fields 生成字段而非属性。缩写形式为“/f”。 /order 为粒子成员生成显式顺序标识符。 /enableDataBinding 在所有生成的类型上实现 INotifyPropertyChanged 接口, 以启用数据绑定。缩写形式为“/edb”。 /namespace: 生成的代理或模板的命名空间。默认命名空间 为全局命名空间。缩写形式为“/n:”。 /out: 生成的代理代码的文件名或目录路径。默认文件名是从 服务名派生的。缩写形式为“/o:”。 /protocol: 重写要实现的默认协议。请从“SOAP”、“SOAP12”、 “HttpGet”、“HttpPost”中选择。 /username: /password: /domain: 连接到要求身份验证的服务器时使用的凭据。 缩写形式为“/u:”、“/p:”和“/d:”。 /proxy: 用来处理 HTTP 请求的代理服务器的 URL。 默认为使用系统代理服务器设置。 /proxyusername: /proxypassword: /proxydomain: 连接到要求身份验证的代理服务器时使用的凭据。 缩写形式为“/pu:”、“/pp:”和“/pd:”。 /appsettingurlkey: 在代码生成中用来读取 URL 属性的 默认值的配置项。默认为不从配置 文件中读取。缩写形式为“/urlkey:”。 /appsettingbaseurl: 计算 URL 段时使用的基 URL。 还必须指定 appsettingurlkey 选项。URL 段是 从 appsettingbaseurl 计算 WSDL 文档中的 URL 的相对 URL 的结果。缩写形式为“/baseurl:”。 /parsableerrors 输出错误,其格式与编译器报告的格式类似。 - 高级 - /server 服务器开关已被否决。请改用 /serverInterface。 使用基于协定的 ASP.NET,为 Xml Web Services 实现 生成抽象类。默认情况下,生成客户端

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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