mattrpav wrote:
Adding the bean to handle the exception seems to be a round about way of
passing the exception message out.
What is the designed way to pass an exception message that occurs in CXF-SE
out through CXF-BC? Do I need to define faults for all operations in the
WSDL, or a custom soap fault, use a certain org/com.*.*.*SoapFault exception
class?
If the fault defined in the wsdl, then you can get the Exception type
you want from the client.
If you didn't define the fault, then you just get RuntimeException from
the client.
Freeman
Ashwin Karpe wrote:
Hi Matt,
Yes there is. The way to do this is to introduce a SMX-Bean between the
CXF-BC and CXF-SE.
The CXF-BC target service in this case would be the Servicemix-Bean which
would hold on to the original exchange, and forward a copy of the Message
Exchange to the CXF-SE.
On the way back, if the Message Exchange copy has a fault or error, The
SMX Bean will replace the "out" Message in original exchange with the
custom SOAP Fault, set Done on the original exchange and send back result.
If on the other hand there is no fault or error, it would copy the "out"
message from the copy to the original, set the DOne flag and send back the
result.
Hope this helps.
Cheers,
Ashwin...
mattrpav wrote:
Is there a way to setup SM CXF to use the message of an underlying
exception when SOAP Faults aren't explicitly defined?
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode><faultstring>Fault occurred
while processing.</faultstring
</soap:Fault>
</soap:Body>
</soap:Envelope>