Thanks Dushan for the clarification.

On Wed, Jul 2, 2014 at 10:39 PM, Dushan Abeyruwan <[email protected]> wrote:

> For soap 1.1 vs soap 1.2 fault there is a clear specification so what ever
> web service engine whose executing soap 1.2 or soap 1.1 fault know how to
> deal with when it receives faults according.
>
>  SOAP 1.1SOAP 1.2
>
> e:Fault
>
> e:Fault
>
> faultcode
>
> e:Code, e:Subcode, e:Value
>
> faultstring
>
> e:Reason
>
> faultactor
>
> e:Node, e:Role
>
> detail
>
> e:Detail
>
>
>
> SOAP 1.1SOAP 1.2
>
> <e:Fault>
>   <faultcode>e:Server.Memory</faultcode>
>   <faultstring>Out of memory</faultstring>
> </e:Fault>
>
> <e:Fault>
>   <e:Code>
>     <e:Value>e:Receiver</e:Value>
>     <e:Subcode>
>       <e:Value>p:Memory</e:Value>
>     </e:Subcode>
>   </e:Code>
>   <e:Reason>Out of memory</e:Reason>
> </e:Fault>
>
> *Table 2*
>
>   for *POX* fault no specification so we just wrapping around with
> <Exception> tag with relevant fault
>
>
> On Thu, Jul 3, 2014 at 7:45 AM, Ishara Premadasa <[email protected]> wrote:
>
>> Hi all,
>>
>> Any idea on this. Would be great if i can know the reason for the
>> difference here.
>> Thanks!
>>
>>
>> On Wed, Jul 2, 2014 at 3:15 AM, Ishara Premadasa <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I used fault mediator with both soap 1.1 and pox format where the format
>>> of the generated fault response appeared to be different. With the pox
>>> format some elements of the fault message was missing.
>>>
>>> For e.g: This is the response getting for Soap 1.1 format
>>> <soapenv:Envelope xmlns:soapenv="
>>> http://schemas.xmlsoap.org/soap/envelope/";>
>>>    <soapenv:Body>
>>>       <soapenv:Fault>
>>>          <faultcode xmlns:soap11Env="
>>> http://schemas.xmlsoap.org/soap/envelope/
>>> ">soap11Env:VersionMismatch</faultcode>
>>>          <faultstring>Version Mismatch!!</faultstring>
>>>          <detail>There is a version mismatch in the input
>>> message</detail>
>>>       </soapenv:Fault>
>>>    </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> This is how it looks like for POX format.
>>> <soapenv:Envelope xmlns:soapenv="
>>> http://schemas.xmlsoap.org/soap/envelope/";>
>>>    <soapenv:Header/>
>>>    <soapenv:Body>
>>>       <Exception>There is a version mismatch in the input
>>> message</Exception>
>>>    </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> I have two concerns on this.
>>>
>>> 1. The fault reason, code entries we set in the mediator are ommitted
>>> when creating POX fault.
>>> 2. For the Pox format it generates an empty <Header> element but in Soap
>>> 1.1 that is missing.
>>>
>>> When debugging the fault mediator i could see the below reasons for this
>>> output.
>>>
>>> 1. When we create POX fault there is an if-else block where it first
>>> checks 'faultDetail' and else if goes to 'faultDetailExpr' etc. Therefore
>>> when the fault <detail> is there, the other values are ommitted for the
>>> fault payload. However when we create SOAP fault all the details are taken
>>> and set into SOAPFault  object as below.
>>>
>>>         setFaultCode(synCtx, factory, fault, soapVersion);
>>>         setFaultReason(synCtx, factory, fault, soapVersion);
>>>         setFaultDetail(synCtx, factory, fault);
>>>
>>> I would like to know whether there is any specific reason for doing
>>> that. IMO there is no harm if we provide all data with the POX fault as
>>> well rather than skipping them, since the data are already in the message
>>> context.
>>>
>>> 2. In the POX fault we add the fault payload as a child and replace the
>>> <body>. But in SOAP fault the whole envelope is getting replaced with new
>>> fault envelope. May be this is why the <soapenv:Header/> is missing there ?
>>>
>>> Thanks!
>>> Ishara
>>> --
>>> Ishara Premasada
>>> Software Engineer,
>>> WSO2 Inc. http://wso2.com/
>>>
>>>
>>> *Blog   :  http://isharapremadasa.blogspot.com/
>>> <http://isharapremadasa.blogspot.com/>Twitter       :
>>> https://twitter.com/ishadil <https://twitter.com/ishadil> Mobile       :
>>> +94 714445832 <%2B94%20714445832>*
>>>
>>>
>>>
>>
>>
>> --
>> Ishara Premasada
>> Software Engineer,
>> WSO2 Inc. http://wso2.com/
>>
>>
>> *Blog   :  http://isharapremadasa.blogspot.com/
>> <http://isharapremadasa.blogspot.com/>Twitter       :
>> https://twitter.com/ishadil <https://twitter.com/ishadil> Mobile       :
>> +94 714445832 <%2B94%20714445832>*
>>
>>
>>
>
>
> --
> Dushan Abeyruwan | Associate Tech Lead
> Integration Technologies Team
> PMC Member Apache Synpase
> WSO2 Inc. http://wso2.com/
> Blog:http://dushansview.blogspot.com/
> Mobile:(0094)713942042
>
>


-- 
Ishara Premasada
Software Engineer,
WSO2 Inc. http://wso2.com/


*Blog   :  http://isharapremadasa.blogspot.com/
<http://isharapremadasa.blogspot.com/>Twitter       :
https://twitter.com/ishadil <https://twitter.com/ishadil>Mobile       : +94
714445832*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to