The OSB is usually used to transform and route messages. But sometimes something goes wrong and we have to return the caller an exception.
This can happen in two situations:
- We want to create a new exception because a special situation
- We want to create a new exception because of an exception thrown by a called service
The exceptions we want to create should be of the type soap:exception. And we want to include as much information as possible. For example information provided by the caller like user information or environment, time of the creation of the exception and id of the message the exception is a response for.
It should also be possible to create the exceptions with a few lines of code. The best solution is to create a generic XQuery constructing the exception. Because we have two use cases we create two XQuerys: FaultParameterized.xq and FaultFromFault.xq.
In a first step we add a pipeline with an assign the content of body to bodyIncoming. This is necessary because during the flow usually the content of the variable body is changed and it would not be possible to access the original incoming message.
Depending on the operation called we execute a branch of the operational branch. But if caller provides a non existing operation we want to return an exception. The implementation for this situation is the FaultParameterized.xq
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
<div><span style="color:#008080;"> 1</span> <span style="color:#000000;">xquery version "1.0" encoding "UTF-8"; </span><span style="color:#008080;"> 2</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$inbound" ::) </span><span style="color:#008080;"> 3</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$bodyIncoming" ::) </span><span style="color:#008080;"> 4</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$messageID" type="xs:token" ::) </span><span style="color:#008080;"> 5</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$errorType" type="xs:token" ::) </span><span style="color:#008080;"> 6</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$errorCode" type="xs:token" ::) </span><span style="color:#008080;"> 7</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$errorMessage" type="xs:string" ::) </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;">declare namespace con = "http://www.bea.com/wli/sb/context"; </span><span style="color:#008080;">10</span> <span style="color:#000000;">declare namespace exception = "http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"; </span><span style="color:#008080;">11</span> <span style="color:#000000;">declare namespace request = "http://opitz-consulting.com/data/common/RequestInformationTypes/V1"; </span><span style="color:#008080;">12</span> <span style="color:#000000;">declare namespace soap = "http://schemas.xmlsoap.org/soap/envelope/"; </span><span style="color:#008080;">13</span> <span style="color:#000000;">declare namespace xf = "http://opitz-consulting.com/data/common/transformations/FaultParameterized/"; </span><span style="color:#008080;">14</span> <span style="color:#000000;"> </span><span style="color:#008080;">15</span> <span style="color:#000000;">declare function xf:FaultParameterizied($inbound as element(*), $bodyIncoming as element(*), $messageID as xs:token, $errorType as xs:token, $errorCode as xs:token, $errorMessage as xs:string) as element(*) { </span><span style="color:#008080;">16</span> <span style="color:#000000;"></span><span style="color:#0000FF;"><</span><span style="color:#800000;">soap:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;">soap:Server</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">18</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;">{ $errorCode }</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">19</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">20</span> <span style="color:#000000;"> { </span><span style="color:#008080;">21</span> <span style="color:#000000;"> element{ fn:expanded-QName(xs:string(namespace-uri($bodyIncoming/*[1])), concat(data($inbound/con:service/con:operation), $errorType)) } { </span><span style="color:#008080;">22</span> <span style="color:#000000;"> element exception:faultHeader { </span><span style="color:#008080;">23</span> <span style="color:#000000;"> element request:Message { </span><span style="color:#008080;">24</span> <span style="color:#000000;"> element request:CreationDate { current-dateTime() }, </span><span style="color:#008080;">25</span> <span style="color:#000000;"> element request:MessageType { "fault" }, </span><span style="color:#008080;">26</span> <span style="color:#000000;"> element request:MessageID { $messageID }, </span><span style="color:#008080;">27</span> <span style="color:#000000;"> element request:MessageVersion { "1.0" }, </span><span style="color:#008080;">28</span> <span style="color:#000000;"> element request:MessageReferenceID { data($bodyIncoming//request:Message/request:MessageID) } </span><span style="color:#008080;">29</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">30</span> <span style="color:#000000;"> element request:Caller { </span><span style="color:#008080;">31</span> <span style="color:#000000;"> element request:SourceSystemName { data($bodyIncoming//request:Caller/request:SourceSystemName) }, </span><span style="color:#008080;">32</span> <span style="color:#000000;"> element request:Environment { data($bodyIncoming//request:Caller/request:Environment) }, </span><span style="color:#008080;">33</span> <span style="color:#000000;"> element request:User { </span><span style="color:#008080;">34</span> <span style="color:#000000;"> element request:UserID { data($bodyIncoming//request:Caller/request:User/request:UserID) } </span><span style="color:#008080;">35</span> <span style="color:#000000;"> } </span><span style="color:#008080;">36</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">37</span> <span style="color:#000000;"> element request:Operation { </span><span style="color:#008080;">38</span> <span style="color:#000000;"> element request:Operation { data($inbound/con:service/con:operation) } </span><span style="color:#008080;">39</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">40</span> <span style="color:#000000;"> element request:Response { </span><span style="color:#008080;">41</span> <span style="color:#000000;"> element request:ProcessingInformation { </span><span style="color:#008080;">42</span> <span style="color:#000000;"> element request:ServerName { "unknown" }, </span><span style="color:#008080;">43</span> <span style="color:#000000;"> element request:InstanceID { "unknown" }, </span><span style="color:#008080;">44</span> <span style="color:#000000;"> element request:ExecutionContextID { "unknown" } </span><span style="color:#008080;">45</span> <span style="color:#000000;"> </span><span style="color:#008080;">46</span> <span style="color:#000000;"> } </span><span style="color:#008080;">47</span> <span style="color:#000000;"> } </span><span style="color:#008080;">48</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">49</span> <span style="color:#000000;"> element exception:Fault { </span><span style="color:#008080;">50</span> <span style="color:#000000;"> element exception:ErrorCode { $errorCode } , </span><span style="color:#008080;">51</span> <span style="color:#000000;"> element exception:ErrorMessage { $errorMessage } </span><span style="color:#008080;">52</span> <span style="color:#000000;"> } </span><span style="color:#008080;">53</span> <span style="color:#000000;"> } </span><span style="color:#008080;">54</span> <span style="color:#000000;"> } </span><span style="color:#008080;">55</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">56</span> <span style="color:#000000;"></span><span style="color:#0000FF;"></</span><span style="color:#800000;">soap:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">57</span> <span style="color:#000000;">}; </span><span style="color:#008080;">58</span> <span style="color:#000000;"> </span><span style="color:#008080;">59</span> <span style="color:#000000;">declare variable $inbound as element(*) external; </span><span style="color:#008080;">60</span> <span style="color:#000000;">declare variable $bodyIncoming as element(*) external; </span><span style="color:#008080;">61</span> <span style="color:#000000;">declare variable $messageID as xs:token external; </span><span style="color:#008080;">62</span> <span style="color:#000000;">declare variable $errorType as xs:token external; </span><span style="color:#008080;">63</span> <span style="color:#000000;">declare variable $errorCode as xs:token external; </span><span style="color:#008080;">64</span> <span style="color:#000000;">declare variable $errorMessage as xs:string external; </span><span style="color:#008080;">65</span> <span style="color:#000000;"> </span><span style="color:#008080;">66</span> <span style="color:#000000;">xf:FaultParameterizied($inbound, $bodyIncoming, $messageID, $errorType, $errorCode, $errorMessage) </span><span style="color:#008080;">67</span> <span style="color:#000000;"></span></div> |
We insert the replace into the default branch.
And provide the needed parameters.
Now we can try to make a call to the non-existing dummyOperation with this request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<div><span style="color:#008080;"> 1</span> <span style="color:#0000FF;"><</span><span style="color:#800000;">message:dummyOperation </span><span style="color:#FF0000;">xmlns:message</span><span style="color:#0000FF;">="http://opitz-consulting.com/interfaces/ProtokollTestMessages/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 2</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Header </span><span style="color:#FF0000;">xmlns:request</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 3</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 4</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;">2014-07-17T17:33:57.544+02:00</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 5</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;">request</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 6</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;">1234345667890</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 7</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;">1.0</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">10</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;">testSystem</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">11</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;">DEV</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">12</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">13</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;">testUser</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">14</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">15</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">16</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Header</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;"></span><span style="color:#0000FF;"></</span><span style="color:#800000;">message:dummyOperation</span><span style="color:#0000FF;">></span></div> |
We get this error response including some information we sent with the request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<div><span style="color:#008080;"> 1</span> <span style="color:#0000FF;"><?</span><span style="color:#FF00FF;">xml version="1.0"</span><span style="color:#0000FF;">?></span><span style="color:#000000;"> </span><span style="color:#008080;"> 2</span> <span style="color:#000000;"></span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Envelope </span><span style="color:#FF0000;">xmlns:soapenv</span><span style="color:#0000FF;">="http://schemas.xmlsoap.org/soap/envelope/"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 3</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soap:Header </span><span style="color:#FF0000;">xmlns:soap</span><span style="color:#0000FF;">="http://schemas.xmlsoap.org/soap/envelope/"</span><span style="color:#0000FF;">/></span><span style="color:#000000;"> </span><span style="color:#008080;"> 4</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Body</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 5</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 6</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;">soap:Server</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 7</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;">ERROR_UNKNOWN_OPERATION</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v1:UnknownOperation </span><span style="color:#FF0000;">xmlns:v1</span><span style="color:#0000FF;">="http://opitz-consulting.com/interfaces/ProtokollTestMessages/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">10</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:faultHeader </span><span style="color:#FF0000;">xmlns:v11</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">11</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Message </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">12</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;">2014-07-17T17:56:38.249+02:00</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">13</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;">fault</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">14</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;">5480523608781123005--3df23bc.1471b27a72f.-7f99</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">15</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;">1.0</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">16</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageReferenceID</span><span style="color:#0000FF;">></span><span style="color:#000000;">1234345667890</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageReferenceID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">18</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Caller </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">19</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;">testSystem</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">20</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;">DEV</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">21</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">22</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;">testUser</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">23</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">24</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">25</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Operation </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">26</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Operation</span><span style="color:#0000FF;">/></span><span style="color:#000000;"> </span><span style="color:#008080;">27</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Operation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">28</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Response </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">29</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ProcessingInformation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">30</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ServerName</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ServerName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">31</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:InstanceID</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:InstanceID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">32</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ExecutionContextID</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ExecutionContextID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">33</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ProcessingInformation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">34</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Response</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">35</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:faultHeader</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">36</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:Fault </span><span style="color:#FF0000;">xmlns:v11</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">37</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:ErrorCode</span><span style="color:#0000FF;">></span><span style="color:#000000;">ERROR_UNKNOWN_OPERATION</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:ErrorCode</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">38</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:ErrorMessage</span><span style="color:#0000FF;">></span><span style="color:#000000;">The requested operation is not implemented</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:ErrorMessage</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">39</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">40</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v1:UnknownOperation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">41</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">42</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">43</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Body</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">44</span> <span style="color:#000000;"></span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Envelope</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">45</span> <span style="color:#000000;"></span></div> |
For the route it is possible to implement an error handler. In the error handler a correct exception should be created adding the additional information from the thrown error. In this situation we use FaultFromFault.xq
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
<div><span style="color:#008080;"> 1</span> <span style="color:#000000;">xquery version "1.0" encoding "UTF-8"; </span><span style="color:#008080;"> 2</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$inbound" ::) </span><span style="color:#008080;"> 3</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$bodyIncoming" ::) </span><span style="color:#008080;"> 4</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$messageID" type="xs:string" ::) </span><span style="color:#008080;"> 5</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$errorType" type="xs:string" ::) </span><span style="color:#008080;"> 6</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$fault" ::) </span><span style="color:#008080;"> 7</span> <span style="color:#000000;">(:: pragma bea:global-element-parameter parameter="$body" ::) </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;">declare namespace con = "http://www.bea.com/wli/sb/context"; </span><span style="color:#008080;">10</span> <span style="color:#000000;">declare namespace conDetail = "http://www.bea.com/wli/sb/stages/transform/config"; </span><span style="color:#008080;">11</span> <span style="color:#000000;">declare namespace exception = "http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"; </span><span style="color:#008080;">12</span> <span style="color:#000000;">declare namespace request = "http://opitz-consulting.com/data/common/RequestInformationTypes/V1"; </span><span style="color:#008080;">13</span> <span style="color:#000000;">declare namespace soap = "http://schemas.xmlsoap.org/soap/envelope/"; </span><span style="color:#008080;">14</span> <span style="color:#000000;">declare namespace xf = "http://opitz-consulting.com/data/common/transformations/FaultFromFault/"; </span><span style="color:#008080;">15</span> <span style="color:#000000;"> </span><span style="color:#008080;">16</span> <span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;">declare function xf:FaultFromFault($inbound as element(*), $bodyIncoming as element(*), $messageID as xs:string, $errorType as xs:string, $fault as element(*), $body as element(*)) as element(*) { </span><span style="color:#008080;">18</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soap:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> { </span><span style="color:#008080;">19</span> <span style="color:#000000;"> element faultcode { </span><span style="color:#008080;">20</span> <span style="color:#000000;"> if ($fault/con:details//conDetail:faultcode) then </span><span style="color:#008080;">21</span> <span style="color:#000000;"> data($fault/con:details//conDetail:faultcode) </span><span style="color:#008080;">22</span> <span style="color:#000000;"> else </span><span style="color:#008080;">23</span> <span style="color:#000000;"> "soap:Server" </span><span style="color:#008080;">24</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">25</span> <span style="color:#000000;"> element faultstring { </span><span style="color:#008080;">26</span> <span style="color:#000000;"> if ($fault/con:details//conDetail:faultstring) then </span><span style="color:#008080;">27</span> <span style="color:#000000;"> data($fault/con:details//conDetail:faultstring) </span><span style="color:#008080;">28</span> <span style="color:#000000;"> else </span><span style="color:#008080;">29</span> <span style="color:#000000;"> data($fault/con:errorCode) </span><span style="color:#008080;">30</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">31</span> <span style="color:#000000;"> element detail { </span><span style="color:#008080;">32</span> <span style="color:#000000;"> element{ fn:expanded-QName(xs:string(namespace-uri($bodyIncoming/*[1])), concat(data($inbound/con:service/con:operation), $errorType)) } { </span><span style="color:#008080;">33</span> <span style="color:#000000;"> element exception:faultHeader { </span><span style="color:#008080;">34</span> <span style="color:#000000;"> element request:Message { </span><span style="color:#008080;">35</span> <span style="color:#000000;"> element request:CreationDate { current-dateTime() }, </span><span style="color:#008080;">36</span> <span style="color:#000000;"> element request:MessageType { "fault" }, </span><span style="color:#008080;">37</span> <span style="color:#000000;"> element request:MessageID { $messageID }, </span><span style="color:#008080;">38</span> <span style="color:#000000;"> element request:MessageVersion { "1.0" }, </span><span style="color:#008080;">39</span> <span style="color:#000000;"> element request:MessageReferenceID { data($bodyIncoming//request:Message/request:MessageID) } </span><span style="color:#008080;">40</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">41</span> <span style="color:#000000;"> element request:Caller { </span><span style="color:#008080;">42</span> <span style="color:#000000;"> element request:SourceSystemName { data($bodyIncoming//request:Caller/request:SourceSystemName) }, </span><span style="color:#008080;">43</span> <span style="color:#000000;"> element request:Environment { data($bodyIncoming//request:Caller/request:Environment) }, </span><span style="color:#008080;">44</span> <span style="color:#000000;"> element request:User { </span><span style="color:#008080;">45</span> <span style="color:#000000;"> element request:UserID { data($bodyIncoming//request:Caller/request:User/request:UserID) } </span><span style="color:#008080;">46</span> <span style="color:#000000;"> } </span><span style="color:#008080;">47</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">48</span> <span style="color:#000000;"> element request:Operation { </span><span style="color:#008080;">49</span> <span style="color:#000000;"> element request:Operation { data($inbound/con:service/con:operation) } </span><span style="color:#008080;">50</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">51</span> <span style="color:#000000;"> element request:Response { </span><span style="color:#008080;">52</span> <span style="color:#000000;"> element request:ProcessingInformation { </span><span style="color:#008080;">53</span> <span style="color:#000000;"> element request:ServerName { "unknown" }, </span><span style="color:#008080;">54</span> <span style="color:#000000;"> element request:InstanceID { "unknown" }, </span><span style="color:#008080;">55</span> <span style="color:#000000;"> element request:ExecutionContextID { "unknown" } </span><span style="color:#008080;">56</span> <span style="color:#000000;"> </span><span style="color:#008080;">57</span> <span style="color:#000000;"> } </span><span style="color:#008080;">58</span> <span style="color:#000000;"> } </span><span style="color:#008080;">59</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">60</span> <span style="color:#000000;"> element exception:Fault </span><span style="color:#008080;">61</span> <span style="color:#000000;"> { </span><span style="color:#008080;">62</span> <span style="color:#000000;"> element exception:ErrorCode { </span><span style="color:#008080;">63</span> <span style="color:#000000;"> if ($body//exception:Fault/exception:ErrorCode) then </span><span style="color:#008080;">64</span> <span style="color:#000000;"> data($body//exception:Fault/exception:ErrorCode) </span><span style="color:#008080;">65</span> <span style="color:#000000;"> else </span><span style="color:#008080;">66</span> <span style="color:#000000;"> data($fault/con:errorCode) </span><span style="color:#008080;">67</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">68</span> <span style="color:#000000;"> element exception:ErrorMessage { </span><span style="color:#008080;">69</span> <span style="color:#000000;"> if ($fault/con:details//conDetail:faultstring) then </span><span style="color:#008080;">70</span> <span style="color:#000000;"> data($fault/con:details//conDetail:faultstring) </span><span style="color:#008080;">71</span> <span style="color:#000000;"> else if ($body//exception:Fault/exception:ErrorMessage) then </span><span style="color:#008080;">72</span> <span style="color:#000000;"> data($body//exception:Fault/exception:ErrorMessage) </span><span style="color:#008080;">73</span> <span style="color:#000000;"> else if ($body//soap:Fault/faultstring) then </span><span style="color:#008080;">74</span> <span style="color:#000000;"> data($body//soap:Fault/faultstring) </span><span style="color:#008080;">75</span> <span style="color:#000000;"> else </span><span style="color:#008080;">76</span> <span style="color:#000000;"> data($fault/con:reason) </span><span style="color:#008080;">77</span> <span style="color:#000000;"> }, </span><span style="color:#008080;">78</span> <span style="color:#000000;"> element exception:ErrorDetail { </span><span style="color:#008080;">79</span> <span style="color:#000000;"> $fault/con:details, </span><span style="color:#008080;">80</span> <span style="color:#000000;"> $fault/con:location </span><span style="color:#008080;">81</span> <span style="color:#000000;"> } </span><span style="color:#008080;">82</span> <span style="color:#000000;"> } </span><span style="color:#008080;">83</span> <span style="color:#000000;"> } </span><span style="color:#008080;">84</span> <span style="color:#000000;"> } </span><span style="color:#008080;">85</span> <span style="color:#000000;"> } </span><span style="color:#0000FF;"></</span><span style="color:#800000;">soap:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">86</span> <span style="color:#000000;">}; </span><span style="color:#008080;">87</span> <span style="color:#000000;"> </span><span style="color:#008080;">88</span> <span style="color:#000000;">declare variable $inbound as element(*) external; </span><span style="color:#008080;">89</span> <span style="color:#000000;">declare variable $bodyIncoming as element(*) external; </span><span style="color:#008080;">90</span> <span style="color:#000000;">declare variable $messageID as xs:string external; </span><span style="color:#008080;">91</span> <span style="color:#000000;">declare variable $errorType as xs:string external; </span><span style="color:#008080;">92</span> <span style="color:#000000;">declare variable $fault as element(*) external; </span><span style="color:#008080;">93</span> <span style="color:#000000;">declare variable $body as element(*) external; </span><span style="color:#008080;">94</span> <span style="color:#000000;"> </span><span style="color:#008080;">95</span> <span style="color:#000000;">xf:FaultFromFault($inbound, $bodyIncoming, $messageID, $errorType, $fault, $body) </span><span style="color:#008080;">96</span> <span style="color:#000000;"></span></div> |
We insert the replace into the error handler.
And provide the needed parameters.
Now we can try to make a call to the operation getServiceInfo, which makes a callout to a non existing service, with this request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<div><span style="color:#008080;"> 1</span> <span style="color:#0000FF;"><</span><span style="color:#800000;">message:getServiceInfoRequest </span><span style="color:#FF0000;">xmlns:message</span><span style="color:#0000FF;">="http://opitz-consulting.com/interfaces/ProtokollTestMessages/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 2</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Header </span><span style="color:#FF0000;">xmlns:request</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 3</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 4</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;">2014-07-17T17:33:57.544+02:00</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 5</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;">request</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 6</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;">1234345667890</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 7</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;">1.0</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">10</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;">testSystem</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">11</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;">DEV</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">12</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">13</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">request:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;">testUser</span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">14</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">15</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">16</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">request:Header</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;"></span><span style="color:#0000FF;"></</span><span style="color:#800000;">message:getServiceInfoRequest</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">18</span> <span style="color:#000000;"></span></div> |
We get this error response including some information we sent with the request:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<div><span style="color:#008080;"> 1</span> <span style="color:#0000FF;"><?</span><span style="color:#FF00FF;">xml version="1.0"</span><span style="color:#0000FF;">?></span><span style="color:#000000;"> </span><span style="color:#008080;"> 2</span> <span style="color:#000000;"></span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Envelope </span><span style="color:#FF0000;">xmlns:soapenv</span><span style="color:#0000FF;">="http://schemas.xmlsoap.org/soap/envelope/"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 3</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soap:Header </span><span style="color:#FF0000;">xmlns:soap</span><span style="color:#0000FF;">="http://schemas.xmlsoap.org/soap/envelope/"</span><span style="color:#0000FF;">/></span><span style="color:#000000;"> </span><span style="color:#008080;"> 4</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Body</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 5</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">soapenv:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 6</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;">soap:Server</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultcode</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 7</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;">BEA-380002</span><span style="color:#0000FF;"></</span><span style="color:#800000;">faultstring</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 8</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;"> 9</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v1:getServiceInfoUnexpectedError </span><span style="color:#FF0000;">xmlns:v1</span><span style="color:#0000FF;">="http://opitz-consulting.com/interfaces/ProtokollTestMessages/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">10</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:faultHeader </span><span style="color:#FF0000;">xmlns:v11</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">11</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Message </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">12</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;">2014-07-17T18:01:32.055+02:00</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:CreationDate</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">13</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;">fault</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageType</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">14</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;">5480523608781123005--3df23bc.1471b27a72f.-7f95</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">15</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;">1.0</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageVersion</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">16</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:MessageReferenceID</span><span style="color:#0000FF;">></span><span style="color:#000000;">1234345667890</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:MessageReferenceID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">17</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Message</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">18</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Caller </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">19</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;">testSystem</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:SourceSystemName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">20</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;">DEV</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Environment</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">21</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">22</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;">testUser</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:UserID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">23</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:User</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">24</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Caller</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">25</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Operation </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">26</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Operation</span><span style="color:#0000FF;">></span><span style="color:#000000;">getServiceInfo</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Operation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">27</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Operation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">28</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:Response </span><span style="color:#FF0000;">xmlns:v12</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/RequestInformationTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">29</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ProcessingInformation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">30</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ServerName</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ServerName</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">31</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:InstanceID</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:InstanceID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">32</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v12:ExecutionContextID</span><span style="color:#0000FF;">></span><span style="color:#000000;">unknown</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ExecutionContextID</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">33</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:ProcessingInformation</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">34</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v12:Response</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">35</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:faultHeader</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">36</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:Fault </span><span style="color:#FF0000;">xmlns:v11</span><span style="color:#0000FF;">="http://opitz-consulting.com/data/common/BusinessExceptionTypes/V1"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">37</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:ErrorCode</span><span style="color:#0000FF;">></span><span style="color:#000000;">BEA-380002</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:ErrorCode</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">38</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:ErrorMessage</span><span style="color:#0000FF;">></span><span style="color:#000000;">www.google.com</span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:ErrorMessage</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">39</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">v11:ErrorDetail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">40</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">con:location </span><span style="color:#FF0000;">xmlns:con</span><span style="color:#0000FF;">="http://www.bea.com/wli/sb/context"</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">41</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">con:node</span><span style="color:#0000FF;">></span><span style="color:#000000;">routeGetServiceInfo</span><span style="color:#0000FF;"></</span><span style="color:#800000;">con:node</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">42</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"><</span><span style="color:#800000;">con:path</span><span style="color:#0000FF;">></span><span style="color:#000000;">request-pipeline</span><span style="color:#0000FF;"></</span><span style="color:#800000;">con:path</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">43</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">con:location</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">44</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:ErrorDetail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">45</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v11:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">46</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">v1:getServiceInfoUnexpectedError</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">47</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">detail</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">48</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Fault</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">49</span> <span style="color:#000000;"> </span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Body</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">50</span> <span style="color:#000000;"></span><span style="color:#0000FF;"></</span><span style="color:#800000;">soapenv:Envelope</span><span style="color:#0000FF;">></span><span style="color:#000000;"> </span><span style="color:#008080;">51</span> <span style="color:#000000;"></span></div> |
Bernhard Mähr @ OPITZ-CONSULTING published at http://thecattlecrew.wordpress.com/