Siebel 接口日志报文文件生成

前端之家收集整理的这篇文章主要介绍了Siebel 接口日志报文文件生成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
EAI接口开发中,有时候为了方便扯皮,需要将发送给外系统或者外系统发送过来的报文打成xml文件保存。这时BS:EAI XML Write to File就派上用场。BS中三个方法都可以使用。

以Account对应的IO的为例,IO结构:

Account
AccField1
AccField2
AccField3
Contact
ConField1
ConField2
ConField3

WritePropSet方法WriteXMLHier方法生成的xml结构中,将field放在了属性中:

<AccountAccField1="value"AccField2="value"AccField3="value">
<ContactConField1="value"ConField1="value"ConField1="value">
<Account>
注:报文中意在讲方法生成报文结构的区别,ListOf虽然也是其中一项,但太烦,就不写了。。

WriteEAIMsg方法生成的xml跟接收和请求的报文比较相似,field放在元素中:

<Account>
<AccField1>value</AccField1>
<AccField2>value</AccField2>
<AccField3>value</AccField3>
<Contact>
<ConField1>value</ConField1>
<ConField2>value</ConField2>
<ConField3>value</ConField3>
</Contact>
</Account>

之前由于WriteEAIMsg方法方法名起的有些奇葩,以为不是写XML形式的,所以只关注了前两个方法,结果是想搞个测试报文都要从属性里一个一个抓值。。

WriteEAIMsg方法除了必填的参数FileName和SiebelMessage之外,加上另外个可选参数就可以直接作为发送报文拷到soap信封里了:
  • GenerateNamespaceDecl:显示命名空间,在发送报文中,如果收发双方命名空间不一致,接收方就会解析不出来相应信息。默认为false,应设置为true。
  • UseSiebelMessageEnvelope:如果为true,报文的头尾会被<SiebelMessage>包起来,默认为true,应设为false。
设置后的报文(命名空间视IO和IC的userproperty而定):

<Account xmlns="xxxx">
<AccField1 xmlns="xxxx">value</AccField1>
<AccField2 xmlns="xxxx">value</AccField2>
<AccField3 xmlns="xxxx">value</AccField3>
<Contact xmlns="xxxx">
<ConField1 xmlns="xxxx">value</ConField1>
<ConField2 xmlns="xxxx">value</ConField2>
<ConField3 xmlns="xxxx">value</ConField3>
</Contact>
</Account>

这样生成的日志文件就可以直接拷到soap中测试和查错了,搞定!\(^o^)/

猜你在找的XML相关文章