我有一个代理服务 stup 来对模式执行验证,如果验证失败则抛出错误。
<inSequence>
<log level="full"/>
<validate xmlns:lod="http://example.com" source="$body/lod:Request">
<schema key="gov:/repository/schemas/com/example/data.xsd"/>
<on-fail>
<makefault version="soap12">
<code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope" value="soap12Env:Sender"/>
<reason>Text reason goes here.</reason>
<node>http://example.com</node>
<detail/>
<role/>
</makefault>
<send/>
<drop/>
</on-fail>
</validate>
</inSequence>
这工作正常,请求按预期得到验证。
问题是:是否可以将子代码添加到 SOAP 1.2 错误中以获得类似于以下内容的内容:
<env:Fault>
<env:Code>
<env:Value>env:Sender</env:Value>
<env:Subcode>
<env:Value>SOME_SPECIFIC_ERROR_SUBCODE</env:Value>
</env:Subcode>
</env:Code>
<env:Reason>
<env:Text xml:lang="en">Text reason goes here.</env:Text>
</env:Reason>
<env:Node>http://example.com</env:Node>
</env:Fault>
先感谢您。弗拉基米尔。