Petals BC SOAP

Propagate partner's SOAP Fault "as is"

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 4.0.3
  • Fix Version/s: 4.0.3
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    We encountered some issues on the propagation of partner SOAP-Fault "as is".

    We have several project on which it works fine (eg the SOAP faults generated by the partners are propagated "as is") and several other on which this doesn't work. The only difference between the two kinds of projects is the following : on the first, the SOAP-provide is the last service called by the EIP, while on the other projects, their are more stuff to be called. Theoritically, theses steps should not be called, since the the SOAP provide should return a SOAP-Fault.

    By the way, the Fault we got in SOAPUI is the following :

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <soapenv:Fault>
    <faultcode xmlns:axis2ns1="http://schemas.xmlsoap.org/soap/envelope/">axis2ns1:Server</faultcode>
    <faultstring>A fault occurs during the petals treatment</faultstring>
    <detail>
    <soapenv:Fault xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>

    You should find enclosed a service assembly reproducing this issues, along with logs and soapUI project.

    Show
    We encountered some issues on the propagation of partner SOAP-Fault "as is". We have several project on which it works fine (eg the SOAP faults generated by the partners are propagated "as is") and several other on which this doesn't work. The only difference between the two kinds of projects is the following : on the first, the SOAP-provide is the last service called by the EIP, while on the other projects, their are more stuff to be called. Theoritically, theses steps should not be called, since the the SOAP provide should return a SOAP-Fault. By the way, the Fault we got in SOAPUI is the following : <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode xmlns:axis2ns1="http://schemas.xmlsoap.org/soap/envelope/">axis2ns1:Server</faultcode> <faultstring>A fault occurs during the petals treatment</faultstring> <detail> <soapenv:Fault xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> You should find enclosed a service assembly reproducing this issues, along with logs and soapUI project.
  • Environment:
    Petals ESB 3.1
    Petals SE-EIP forge customer veolia
    Petals BC-SOAP 4.0.3-SNAPSHOT
  1. AD009-RecupVersionPointInterventionSigma-soapui-project.xml
    (672 kB)
    Charles Casadei
    Tue, 3 Aug 2010 - 09:58:12 +0200
  2. log.txt
    (41 kB)
    Charles Casadei
    Tue, 3 Aug 2010 - 09:58:12 +0200
  3. sa-AD009-RecupVersionPointInterventionSigma-1.0.0-SNAPSHOT.zip
    (92 kB)
    Charles Casadei
    Tue, 3 Aug 2010 - 09:58:38 +0200
  4. sa-AD009-RecupVersionPointInterventionSigma-1.0.0-SNAPSHOT.zip.modded
    (167 kB)
    Charles Casadei
    Tue, 3 Aug 2010 - 09:58:38 +0200
  5. simplerLog.txt
    (16 kB)
    Charles Casadei
    Tue, 3 Aug 2010 - 09:58:12 +0200

Activity

Charles Casadei made changes - Tue, 3 Aug 2010 - 09:52:47 +0200
Field Original Value New Value
Link This issue blocks SPVEOLIAE-27 [ SPVEOLIAE-27 ]
Charles Casadei made changes - Tue, 3 Aug 2010 - 09:53:11 +0200
Summary Send back partner SOAP Fault "as is" Propagate partner's SOAP Fault "as is"
Priority Blocker [ 1 ]
Charles Casadei made changes - Tue, 3 Aug 2010 - 09:54:01 +0200
Priority Blocker [ 1 ] Major [ 3 ]
Charles Casadei made changes - Tue, 3 Aug 2010 - 09:58:12 +0200
Attachment AD009-RecupVersionPointInterventionSigma-soapui-project.xml [ 10120 ]
Attachment log.txt [ 10121 ]
Attachment simplerLog.txt [ 10122 ]
Charles Casadei made changes - Tue, 3 Aug 2010 - 15:54:40 +0200
Status New [ 10000 ] Open [ 10002 ]
Hide
noddoux added a comment - Tue, 3 Aug 2010 - 16:14:42 +0200

The exception is not raised anymore, a SOAP-Fault is raised instead.

The Fault of the given mock is not properly propagated, because there are not Fault defined for this WebService.

Show
noddoux added a comment - Tue, 3 Aug 2010 - 16:14:42 +0200 The exception is not raised anymore, a SOAP-Fault is raised instead. The Fault of the given mock is not properly propagated, because there are not Fault defined for this WebService.
Hide
noddoux added a comment - Tue, 3 Aug 2010 - 16:15:03 +0200

Waiting for more information from our customer

Show
noddoux added a comment - Tue, 3 Aug 2010 - 16:15:03 +0200 Waiting for more information from our customer
Charles Casadei made changes - Thu, 5 Aug 2010 - 11:19:39 +0200
Priority Major [ 3 ] Minor [ 4 ]
Charles Casadei made changes - Fri, 6 Aug 2010 - 10:49:53 +0200
Priority Minor [ 4 ] Critical [ 2 ]
Hide
noddoux added a comment - Wed, 18 Aug 2010 - 13:47:00 +0200

Change an Axis option to prevent Axis from transforming SOAP fault to Axis fault exception (when a partner service replies by a soap fault)

Be careful: The sub tags of <soapenv:Fault> are unqualified as below. Axis returns an empty fault if they are qualified (for example <soapenv:faultcode).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Cannot find the equipment record.</faultstring>
<detail>
<ns1:ExceptionInfoList xmlns:ns1="http://schemas.datastream.net/MP_functions">
<ns1:ExceptionInfo functionid="MP0302">
<ns1:Exception name="com.dstm.mp.businessprocess.asset.CannotFindEquipmentException">
<ns1:ReasonCode>1</ns1:ReasonCode>
<ns1:Message>Le système ne peut pas trouver l'enregistrement d'équipement.</ns1:Message>
</ns1:Exception>
</ns1:ExceptionInfo>
</ns1:ExceptionInfoList>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

Show
noddoux added a comment - Wed, 18 Aug 2010 - 13:47:00 +0200 Change an Axis option to prevent Axis from transforming SOAP fault to Axis fault exception (when a partner service replies by a soap fault) Be careful: The sub tags of <soapenv:Fault> are unqualified as below. Axis returns an empty fault if they are qualified (for example <soapenv:faultcode). <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Client</faultcode> <faultstring>Cannot find the equipment record.</faultstring> <detail> <ns1:ExceptionInfoList xmlns:ns1="http://schemas.datastream.net/MP_functions"> <ns1:ExceptionInfo functionid="MP0302"> <ns1:Exception name="com.dstm.mp.businessprocess.asset.CannotFindEquipmentException"> <ns1:ReasonCode>1</ns1:ReasonCode> <ns1:Message>Le système ne peut pas trouver l'enregistrement d'équipement.</ns1:Message> </ns1:Exception> </ns1:ExceptionInfo> </ns1:ExceptionInfoList> </detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>
Hide
Charles Casadei added a comment - Fri, 20 Aug 2010 - 11:58:53 +0200

The proposed fix does not work. There is a trace in the BC-SOAP logs indicating that the BC has received a SOAP Fault from the partner, but this fault is not propagated, even with the latest version of the component.

Show
Charles Casadei added a comment - Fri, 20 Aug 2010 - 11:58:53 +0200 The proposed fix does not work. There is a trace in the BC-SOAP logs indicating that the BC has received a SOAP Fault from the partner, but this fault is not propagated, even with the latest version of the component.
Charles Casadei made changes - Fri, 20 Aug 2010 - 11:58:53 +0200
Status Resolved [ 10004 ] Open [ 10002 ]
Resolution Fixed [ 1 ]
Hide
noddoux added a comment - Fri, 27 Aug 2010 - 17:54:59 +0200

Fixed (cf PETALSBCSOAP-34 for the Axis 1 webservice stack compatibility)

Show
noddoux added a comment - Fri, 27 Aug 2010 - 17:54:59 +0200 Fixed (cf PETALSBCSOAP-34 for the Axis 1 webservice stack compatibility)
Transition Status Change Time Execution Times Last Executer Last Execution Date
New New Open Open
6h 2m
1
Charles Casadei
Tue, 3 Aug 2010 - 15:54:40 +0200
Open Open In Progress In Progress
17m 48s
1
noddoux
Tue, 3 Aug 2010 - 16:12:28 +0200
In Progress In Progress Open Open
2m 35s
1
noddoux
Tue, 3 Aug 2010 - 16:15:03 +0200
Open Open In Progress In Progress
8d 23h 17m
1
noddoux
Thu, 12 Aug 2010 - 15:32:37 +0200
In Progress In Progress Resolved Resolved
5d 22h 14m
1
noddoux
Wed, 18 Aug 2010 - 13:47:00 +0200
Resolved Resolved Open Open
1d 22h 11m
1
Charles Casadei
Fri, 20 Aug 2010 - 11:58:53 +0200
Open Open In Progress In Progress
7d 5h 54m
1
noddoux
Fri, 27 Aug 2010 - 17:53:25 +0200
In Progress In Progress Resolved Resolved
1m 34s
1
noddoux
Fri, 27 Aug 2010 - 17:54:59 +0200