cxf webservice服务端怎么能获取客户端发送的soap请求信息
2014-12-07
展开全部
原因是,asp.net接收的原版的soap协议,而电信发送的消息可能是java之类的程序发出来的扩张协议,WebServie在提供类型的时候需要加上soap的声明空间才能正确解析,在NotifySOAPHeader的声明前面加上
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1", IsNullable=false)]
在notifySmsReception类型前面加上
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.chinatelecom.com.cn/schema/ctcc/sms/notification/v2_1/local")]
这样就可以解析了,声明的地址实际上在发给我的soap包里面也有,各位以后如果遇到解析不了的soap包,在webService的序列化声明里面加上soap包内声明地址应该就可以解决问题,看来还是以前对webservice不熟悉才产生这个问题,现在开始派分,wpgcn 的回答最接近,zyaccp30的意思也差不多,但实际上WebService是不能去要求人家发什么消息的。其余顶者有分哈哈
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1", IsNullable=false)]
在notifySmsReception类型前面加上
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.chinatelecom.com.cn/schema/ctcc/sms/notification/v2_1/local")]
这样就可以解析了,声明的地址实际上在发给我的soap包里面也有,各位以后如果遇到解析不了的soap包,在webService的序列化声明里面加上soap包内声明地址应该就可以解决问题,看来还是以前对webservice不熟悉才产生这个问题,现在开始派分,wpgcn 的回答最接近,zyaccp30的意思也差不多,但实际上WebService是不能去要求人家发什么消息的。其余顶者有分哈哈
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询