当前位置: 代码迷 >> Web Service >> 急问:读取本地wsdl文件动态实现SOAP请求,反射客户端类时失败,多谢
  详细解决方案

急问:读取本地wsdl文件动态实现SOAP请求,反射客户端类时失败,多谢

热度:339   发布时间:2016-05-02 02:43:30.0
急问:读取本地wsdl文件动态实现SOAP请求,反射客户端类时失败,谢谢!
使用framework2.0 调试时报:反射"string1"出错。把动态编译出来的客户端代码打出来一看,发现是成员变量MessageID是这个类型:

public @string MEName;
        
public string1 MessageID;

从代码上看,@string和string1的两个定义效果是一样的,唯一差别在于XmlTypeAttribute的定义,[email protected]
@string的定义如下:
/// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdlWatcher", "1.0.0.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.w3.org/2001/XMLSchema")]
    [System.Xml.Serialization.XmlRootAttribute("MEName", Namespace="http://www.chinamobile.com/IMS/MMTelAS/", IsNullable=false)]
    public partial class @string : System.Web.Services.Protocols.SoapHeader
    {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
    }

string1的定义如下:
/// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdlWatcher", "1.0.0.0")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName="string", Namespace="http://www.w3.org/2001/XMLSchema")]
    [System.Xml.Serialization.XmlRootAttribute("MessageID", Namespace="http://www.chinamobile.com/IMS/MMTelAS/", IsNullable=false)]
    public partial class string1 : System.Web.Services.Protocols.SoapHeader
    {
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string[] Text;
    }

搜到一个跟我有一样问题的帖子,可惜没有解决方案T_T
http://social.msdn.microsoft.com/Forums/zh-CN/vsprereleaseannouncements/thread/c2d15766-fb5c-49ff-a8bd-3b5d13fff207
------最佳解决方案--------------------
http://topic.csdn.net/u/20110705/11/e3683517-7fc4-4b1b-8c03-2e3547b3706e.html
------其他解决方案--------------------
自己顶一下。
------其他解决方案--------------------
该回复于2011-12-16 15:10:05被版主删除
------其他解决方案--------------------
该回复于2011-12-16 15:26:55被版主删除
------其他解决方案--------------------
我一开始也怀疑是2.0的问题,但是使用4.0的框架编译还是会报这个错。而且我是需要动态加载这个类的,本身并不需要生成类文件,所以没有办法依照你的帖子去修改文件,下午把wsdl文件里面节点的type改了一个自定义类型,暂时把这个问题规避过去了,因为这个wsdl文件是客户提供的,所以不是十分有把握搞定。非常想知道这个问题的原因!
  相关解决方案