【发布时间】:2015-05-01 07:19:43
【问题描述】:
我遇到了 soap_envelope_1__1.Fault 类型的故障。
当我运行调试模式并得到返回的故障时,我收到以下代码
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soapenv:Server</faultcode>
<faultstring>Missing or Invalid Information</faultstring>
<detail>
<ns3:sendFault xmlns:ns3="http://thisservice.com/was/v1" xmlns:ns2="http://thisservice.com/pos/v1" xmlns:ns4="http://thisservice.com/lr/v1" xmlns:ns5="http://thisservice.com/dl/v1" xmlns:ns6="http://thisservice.com/ted/v1" xmlns:ns7="http://thisservice.com/header/v1">
<code>Actual_Code_18</code>
<info>Bad Information</info>
</ns3:sendFault>
</detail>
</soapenv:Fault>
对于我的发送端口,我使用 Wcf-BasicHTTPPort 并将入站消息正文设置为正文,并检查传播错误消息。
在我的编排中,我为soap_envelope_1__1.Fault 设置了故障。 我在范围形状中的捕获接收到错误。 在构造消息形状中,我构造了由故障生成的对象到我的故障消息:Message_myFault = myFault;
然后我使用 xslt 映射来映射故障消息中的代码和信息标签。我的问题是我似乎无法为 INFO 和 CODE 标签找到正确的 xpath,它们在我的消息中显示为空白,但如果我使用 faultcode 或 faultstring 它会填充。
继承人:<xsl:value-of select="InputMessagePart_0/s0:Fault/s0:detail/ns6:sendFault/code/text()" />
这是我的样式表标签:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var" exclude-result-prefixes="msxsl var s2 s0 s1 userCSharp" version="1.0" xmlns:array="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:s0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/ABCD" xmlns:ns3="http://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo" xmlns:s2="http://schemas.microsoft.com/BizTalk/2003/aggschema" xmlns:s1="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/ABC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:userCSharp="http://schemas.microsoft.com/BizTalk/2003/userCSharp" xmlns:ns6="http://thisservice.com/was/v2" xmlns:ns2="http://thisservice.com/pos/v2" >
【问题讨论】: