webservice自定义wsdl如何使用(高手进)

fhqypm_126 2012-05-31 11:12:18
我自己拿txt写了个wsdl文件,然后我的.asmx文件因为如下:
[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(Name = "ChildQueryPort", Location = "ChildQueryService.wsdl")]

public class Service1 : System.Web.Services.WebService
{
[WebMethod]
[SoapDocumentMethod(Action = "http://tempuri.org/queryChildrenByCodes", Binding = "ChildQueryPortBinding")]
public String queryChildrenByCodes(String user, String password, string[] codes)
{
//业务处理(主要是查询数据库)
}
}

我把我写的wsdl文件引入项目放到和.asmx同一个目录,然后在浏览器中查看.asmx文件,报如下错误:

类型“ChildQueryService.Service1”缺少定义名为“ChildQueryPortBinding”的绑定的 WebServiceBinding 属性。
参数名: methodInfo
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 类型“ChildQueryService.Service1”缺少定义名为“ChildQueryPortBinding”的绑定的 WebServiceBinding 属性。
参数名: methodInfo


不知道如何解决,忘高手指教!!!!!!
...全文
657 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mishixiaosenlin 2015-01-21
  • 打赏
  • 举报
回复
大侠,你说的权威单位是不是品恩?
fhqypm_126 2012-06-27
  • 打赏
  • 举报
回复
大哥,我们告诉你个实际情况:我们是一个接入单位,另一个单位是客户端(虽然他们是客户端,但他们是一个比较权威的单位),他们已经写好了(用java的jdk6)而且已经有三十几个单位都在用,所有,传的数据类型是不能变的
public String queryChildrenByCodes(String user, String password, string[] codes)
是必须的,而.net自动解析出的string[] 他们那边就解析不了,所有他们给了我们一个他们能解析的wsdl文档,让我们按照那个文档做,而自定义的wsdl我又不会用,所以才有此问题?希望高手能给个正解!!
  • 打赏
  • 举报
回复
wsdl不是.net专有的,lz与其去修改wsdl,不如想办法去序列化要传递的数据,比如用json来传递
fhqypm_126 2012-06-26
  • 打赏
  • 举报
回复
1自定义的目的是:我们用.net做webservice,另一个公司用java调用,参数需要传入:string[],.net自动生成的wsdl他们那边解析不了。
2你说的第二个我不太明白是什么意思,因为刚接触webservice,希望说的明白一点
机器人 2012-06-01
  • 打赏
  • 举报
回复
1. 你自定义wsdl的目的?
2. ChildQueryPortBinding 需要在配置文件中 ServiceModel 配置节中加入一个CustomBinding

12,162

社区成员

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

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