wsdl文件和idl文件很差不多,他们经过一定的处理可以编译成C#,vb。。以及dll,供你调用。以前做个小项目idl直接加到vs2008中在属性里添加几行命令就可以编译成C#文件(VS中集成了相应的工具)msdn上可以搜到;但最近做这个项目需要把wsdl编译成c#文件,给的全的很容易就编出来了,不全的需要自己去修改相应的.xsd和.wsdl文件。
把wsdl编译成C#文件,有静态和动态两种方法。动态的比较简单,用wse3.0(不支持.net/tcp 绑定),svcutil.exe(在vs的命令行)这个工具比较强大,个人比较喜欢用这个。
至于wsdl文件包含哪些东西,可以到w3c上去看看就知道,下面介绍下我自己的一些排错经验:
1.检查所有的namespace及其内容中是否有空格;
2.检查漏掉的“>"和”/"符号,及相关的权限命名或语法错误;
3.将xsd导入wsdl或者直接写入wsdl;
4.检查wsdl所用到的xsd是否齐全;
5.若所用到的xsd在相应的namespace下找不到,可以找对应targetNamespace和namespace相同的地方截取xsd文件。
PS:可以将wsdl文件用VS打开,就可以看到语法或者其他相应的错误