请教,在c#中如何写soap 消息

 我来答
Tech_Monkeye5
2018-08-05 · TA获得超过984个赞
知道小有建树答主
回答量:330
采纳率:92%
帮助的人:87.3万
展开全部
这个问题不知道你所谓的"写“是什么意思。
严格来说Soap消息其实就是一个xml文档,这个xml由一个封套和一个内容体组成的。如果你说是基本的Soap消息模拟的话使用xmlWriter/TextWriter或者直接Write都可以的。但是由于考虑到其中的扩展性等问题,事实上在.net中由于SoapMessage类进行xml序列化实现的!换句话来说,我们直接在该类的基础上直接序列化!
这样多数情况下,我们可以继承SoapMessage自实义一个消息格式。这个也算是一个Soap最底层的消息吧。
然而,多数时间我们并不需要这个所谓的SoapMessage,大多数时间我们关注的是消息体,而不考虑封套的。所以我们对SoapMessage进行类注入,注入到消息体中,然后由SoapMessage进行自动序列化(其实我们相当于生成自定义的消息体)
这就是所谓的Soap消息的真实的基本的用法!
但事实上,我们有时发现我们的序列化并不是按照我们预想的格式生成了消息体,那么此时就涉到了生成的属性与类的属性对应的关系,如果你对XML自定义序列化有了解的话,它本身就是通过XML自定义序列化实现的!
两种常用实现方案,一种是特性化属性,也就是使用DataMemberAttribute的方式,算是轻量级的吧。有时我们对于数组的格式化,可以这种方式不太满足,那么我们的自定义对象继承IXMLSerialization接口,直接实现也是可行的。换句话来说xml自定义序列化也有两种方式,至于想用哪种,在你考虑序列化与当前项目开发周期或是其他因素下选择合适的自定义方式。1)特性化编程 2)序列化接口
关于这方面的内容,其实我一直觉得就是xml序列化及自定义xml序列化是最基础的。看完这个玩意,怕是很多的时间你不会再用xmlWriter或XmlPath的方式了,当然更说别直接文本处理方式了。
尔离好活笑4
2018-07-24 · TA获得超过2049个赞
知道小有建树答主
回答量:1521
采纳率:87%
帮助的人:221万
展开全部
XmlTextWriter可以实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式