.net动态调用webservice出现的问题

十七郎 2009-08-19 07:35:00
写了一个动态调用web service的类
分别进行对
1 http://www.baizus.com/webservice/test.php?wsdl (php service)
2 http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl (.net webservice)
两个 web 服务进行调用测试 结果为;
2 完全正常
1 出现错误
WebClient wc = new WebClient(); //正常执行
Stream stream = wc.OpenRead(url + "?WSDL"); //正常执行
ServiceDescription sd = ServiceDescription.Read(stream); //这句出现错误
"XML 文档(2, 4)中有错误。"{"不应有 <html xmlns=''>。"
我仔细对比了一下两个web service 在结构定义上有点不一样。查看 返回的xml 文档(2,4)处 并没有html xmlns= 这样的字样。
说明:第一个 php webservice 是我自己用 nusoap架设的。 在vs2008中直接静态添加web 引用 就能正常执行
需要解决的问题
1 为何静态添加web引用就正常。动态添加就不正常?
2 nusoap 可以定义自己的wsdl格式吗?如果有,能否给个范例
3 附录上 我这个测试用的 php webservice 跟 .net调用 demo.
希望路过的朋友能帮忙看看。帮我调试一下。找出具体出错原因
附件:
1 php webservice
2 .net调用 webservice的 demo

QQ: 12036581 msn:nete.cn@hotmail.com
...全文
860 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tkx180 2009-08-24
  • 打赏
  • 举报
回复
顶啊
十七郎 2009-08-19
  • 打赏
  • 举报
回复
我自己搞定了。分享一下
原来在 nusoap 中定义的
$server->configureWSDL("test", ""); //这里的test应该与 web service动态生成的程序集类名一样

谁来顶一下我就结贴了
十七郎 2009-08-19
  • 打赏
  • 举报
回复
自己找到原因了
Stream stream = wc.OpenRead(url + "?WSDL"); //正常执行
这里的 WSDL 应该是小写。真搞不懂 url地址的大小写会出现不同的结果
================================================================
另外: 在动态调用类中的空间名称改如何填写?
string @namespace = "EnterpriseServerBase.WebService.DynamicWebCalling";
运行到
Type t = assembly.GetType(@namespace + "." + classname, true, true);
出现错误
未能从程序集“wvwa-t1_, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型“EnterpriseServerBase.WebService.DynamicWebCalling.test”。

第一次用 php做的webservice 。 不知道用.net来调用时的名称空间该如何填写。

源码都放在网上了。希望路过的朋友帮忙调试一下
这个问题已经困扰我多天了。实在搞不定才来求助。帮帮忙吧!!!!
十七郎 2009-08-19
  • 打赏
  • 举报
回复
错误详细情况

12,162

社区成员

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

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