Hello, I am trying to implement a basic invoke-catch example. In the process,I am invoking a web service which returns javax.xml.soap.SOAPException and trying to catch it. Instead, the process waits for the timeout duration and throws java.util.concurrent.TimeoutException.
SOAP message I receive after the invocation is: <?xml version='1.0' encoding='utf-8'?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Action>urn:getTimeStampSOAPException</wsa:Action> <wsa:RelatesTo>uuid:hqejbhcnphr6gimjso97tk</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>Failed deliberately.</faultstring> <detail /> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> In the BPEL process, catch entity is: <bpel:catch faultName="ns:SOAPException" faultVariable="invokeError" element="ns:SOAPException" faultElement="ns:SOAPException"> I attached wsdl of the component service. I think I am missing a basic thing
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://deployment.ws.sac12.ozu" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://deployment.ws.sac12.ozu"> <wsdl:documentation>Burada servisi anlat! </wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://deployment.ws.sac12.ozu"> <xs:element name="setCycle"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="cycle" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="Exception"> <xs:sequence> <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:anyType"/> </xs:sequence> </xs:complexType> <xs:element name="SOAPException"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="SOAPException" nillable="true" type="xs:anyType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="getTimeStampResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </wsdl:types> <wsdl:message name="startAvailControllerRequest"/> <wsdl:message name="getTimeStampRequest"/> <wsdl:message name="getTimeStampResponse"> <wsdl:part name="parameters" element="ns:getTimeStampResponse"/> </wsdl:message> <wsdl:message name="SOAPException"> <wsdl:part name="parameters" element="ns:SOAPException"/> </wsdl:message> <wsdl:message name="setCycleRequest"> <wsdl:part name="parameters" element="ns:setCycle"/> </wsdl:message> <wsdl:portType name="TimeStampAvailPortType"> <wsdl:operation name="startAvailController"> <wsdl:input message="ns:startAvailControllerRequest" wsaw:Action="urn:startAvailController"/> </wsdl:operation> <wsdl:operation name="getTimeStamp"> <wsdl:input message="ns:getTimeStampRequest" wsaw:Action="urn:getTimeStamp"/> <wsdl:output message="ns:getTimeStampResponse" wsaw:Action="urn:getTimeStampResponse"/> <wsdl:fault message="ns:SOAPException" name="SOAPException" wsaw:Action="urn:getTimeStampSOAPException"/> </wsdl:operation> <wsdl:operation name="setCycle"> <wsdl:input message="ns:setCycleRequest" wsaw:Action="urn:setCycle"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="TimeStampAvailSoap11Binding" type="ns:TimeStampAvailPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="startAvailController"> <soap:operation soapAction="urn:startAvailController" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> <wsdl:operation name="getTimeStamp"> <soap:operation soapAction="urn:getTimeStamp" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="SOAPException"> <soap:fault use="literal" name="SOAPException"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="setCycle"> <soap:operation soapAction="urn:setCycle" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:binding name="TimeStampAvailSoap12Binding" type="ns:TimeStampAvailPortType"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="startAvailController"> <soap12:operation soapAction="urn:startAvailController" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> </wsdl:operation> <wsdl:operation name="getTimeStamp"> <soap12:operation soapAction="urn:getTimeStamp" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> <wsdl:fault name="SOAPException"> <soap12:fault use="literal" name="SOAPException"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="setCycle"> <soap12:operation soapAction="urn:setCycle" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:binding name="TimeStampAvailHttpBinding" type="ns:TimeStampAvailPortType"> <http:binding verb="POST"/> <wsdl:operation name="startAvailController"> <http:operation location="TimeStampAvail/startAvailController"/> <wsdl:input> <mime:content type="text/xml" part="startAvailController"/> </wsdl:input> </wsdl:operation> <wsdl:operation name="getTimeStamp"> <http:operation location="TimeStampAvail/getTimeStamp"/> <wsdl:input> <mime:content type="text/xml" part="getTimeStamp"/> </wsdl:input> <wsdl:output> <mime:content type="text/xml" part="getTimeStamp"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="setCycle"> <http:operation location="TimeStampAvail/setCycle"/> <wsdl:input> <mime:content type="text/xml" part="setCycle"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="TimeStampAvail"> <wsdl:port name="TimeStampAvailHttpSoap11Endpoint" binding="ns:TimeStampAvailSoap11Binding"> <soap:address location="http://127.0.0.1:8080/axis2/services/TimeStampAvail.TimeStampAvailHttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="TimeStampAvailHttpSoap12Endpoint" binding="ns:TimeStampAvailSoap12Binding"> <soap12:address location="http://127.0.0.1:8080/axis2/services/TimeStampAvail.TimeStampAvailHttpSoap12Endpoint/"/> </wsdl:port> <wsdl:port name="TimeStampAvailHttpEndpoint" binding="ns:TimeStampAvailHttpBinding"> <http:address location="http://127.0.0.1:8080/axis2/services/TimeStampAvail.TimeStampAvailHttpEndpoint/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
