When an adapter raises an exception during execution, the SOAP agent in iBSP produces a SOAP fault element in the generated SOAP response. The SOAP fault element contains fault code and fault string elements. The fault string contains the native error description from the adapter's target system. Since adapters use the system target interfaces and APIs, whether or not an exception is raised depends on how the target systems interface or API treats the error condition. If a SOAP request message is passed to an adapter by the SOAP agent in iBSP, and that request is invalid based on the WSDL for that service, the adapter may raise an exception yielding a SOAP fault.
While it is almost impossible to anticipate every error condition that an adapter may encounter, the following is a description of how some of the adapters handle common error conditions, and how they are then exposed to the Web services consumer application.
When the iWay Adapter for SAP receives a SOAP request message that does not conform to the WSDL for the Web services being executed, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[FAIL] SapIFRException: java.sql.SQLException: com.ibi.sapjco.SapCallableStatement: execute() j java.util.NoSuchElementException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter for SAP executes an SAP object using input parameters passed in the SOAP request message that do not match records in SAP, the following SOAP response is generated.
<?xml version=" 1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[FAIL] SapIFRException: java.sql.SQLException: com.ibi.sapjco.SapCallableStatement: execute() java.sql.SQLException: JCO Error Key: NO_RECORD_FOUND Short Description: com.sap.mw.jco.JCO$AbapException: (126) NO_RECORD_FOUND: NO_RECORD_FOUND</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter for SAP cannot connect to SAP when executing a Web service, the following SOAP response is generated:
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [XDSapIfrAgent] - XD[RETRY] Connect to SAP gateway failed Connect_PM GWHOST=ESDSUN, GWSERV=sapgw00, ASHOST=ESDSUN, SYSNR=00 LOCATION CPIC (TCP/IP) on local host ERROR partner not reached (host ESDSUN, service 3300) TIME Mon Jun 30 16:01:02 2003 RELEASE 620 COMPONENT NI (network interface) VERSION 36 RC -10 MODULE ninti.c LINE 976 DETAIL NiPConnect2 SYSTEM CALL SO_ERROR ERRNO 10061 ERRNO TEXT WSAECONNREFUSED: Connection refused COUNTER 1</ faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter for Siebel receives a SOAP request message that does not conform to the WSDL for the Web services being executed, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>XD[FAIL] Parse failure (IS) 3: org.xml.sax.SAXParseException: Premature end of file.</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter for Siebel executes this Siebel Integration Object using input parameters passed in the SOAP request message that do not match records in Siebel, the following SOAP response is generated.
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XML Schema-instance"> <SOAP-ENV:Body> <m:AccountResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="C40E00BBB25A11639A11B9B9E80A7C50"> <BusinessComponent reason="no spec was defined" status="failure"/> </m:AccountResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the Siebel Adapter cannot connect to Siebel when executing a Web service, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring><Exception> - major:4096 minor: -1
message:NSReadKey request 11 was abandoned after 37846ms connection:12a
due to Connection shutdown request Connection reset by peer:JVM_recv
in socket input stream stream read DetailedMessage:Unknown</Exception></faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
When the iWay Adapter for RDBMS receives a SOAP request message that does not conform to the WSDL for the Web services being executed, the following SOAP response is generated.
DEBUG (SOAP1) W.SOAP1.1: writeEntity, len: 449 data: <?xml version="1.0" encoding="ISO-8859-1" ?><SOAP-ENV:Envelope xmlsns:SOAP-ENV="http:// schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP- ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>XD[FAIL] Parse failure 3: org.xml.sax.SAXParseException: The element type "SOAP-ENV:Body" must be terminated by the matching end-tag "< /SOAP-ENV:Body>".</faultstring></SOAP-ENV:Fault></ SOAP-ENV:Body></SOAP-ENV:Envelope>
When the iWay Adapter for RDBMS executes an SQL query using input parameters passed in the SOAP request message that do not match records in the database, the following SOAP response is generated.
Note: The condition for this adapter does not yield a SOAP fault.
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas:xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <m:SelectWHEREResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="BF4730840B21A9C70639E5B2242BFF6E"> <result> <resultset/> </result> </m:SelectWHEREResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter for RDBMS cannot connect to the necessary database when executing a Web service, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Method RDBMS.SelectWHERE could not be found in registry</ faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The iWay Adapter connects iBSP to adapters whose engine is another iWay server. Therefore, since this adapter is used to connect iBSP to many different target systems, the error handling behavior is consistent. Check the user guide for your adapter to see if you need the iWay Adapter when running Web services.
When the iWay Adapter receives a SOAP request message that does not conform to the WSDL for the Web services being executed, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>RPC server connection failed: Connection refused: connect</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter executes a SOAP Request using input parameters passed that do not match records in the target system, the following SOAP response is generated.
Note: The condition for this adapter does not yield a SOAP fault.
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <m:RunDBQueryResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="2A3CB42703EB20203F91951B89F3C5AF"> <RunDBQueryResult run="1" /> </m:RunDBQueryResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the iWay Adapter cannot connect to an iWay server when executing a Web service, the following SOAP response is generated.
<?xml version="1.0" encoding="ISO-8859- 1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>RPC server connection failed: Connection refused: connect</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The Terminal Emulation Adapter uses the IBOAgent in iBSP.
When the IBOAgent receives a SOAP request message that does not conform to the WSDL for the Web services being executed, the following SOAP response is generated.
<?xml version="1 .0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [com.ibi.agents.XDIBOAgent] - java.lang.NullPonterException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the IBOAgent executes a transaction as a Web service using input parameters passed in the SOAP request for an IBO that does not exist, the following SOAP response is generated.
<?xml version ="1.0" encoding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [com.ibi.agents.XDIBOAgent] - java.lang.NullPonterException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the Terminal Emulation Adapter cannot connect to the target host system, the following SOAP response is generated.
<?xml version="1.0" enco ding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Error processing agent [com.ibi.agents.XDIBOAgent] - java.lang.NullPonterException</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the PeopleSoft agent receives a SOAP request message that does not conform to the WSDL for the Web service being executed, the following SOAP response is generated.
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <m:CARRIERResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="2A3CB42703EB20203F91951B89F3C5AF"> <PS8> <error>Cannot find Component Interface {VARRIER} (91,2)Initialization failed (90,7)Not Authorized (90,6)Failed to execute PSSession request Cannot find Component Interface {VARRIER} (91,2)</error>
</PS8> </m:CARRIERResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the PeopleSoft Adapter executes a component interface as a Web service using input parameters passed in the SOAP request that do not match records in PeopleSoft, the following SOAP response is generated.
<SOAP-ENV:Enve lope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http:// www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <m:CARRIERResponse xmlns:m="urn:schemas-iwaysoftware-com:iwse" xmlns="urn:schemas-iwaysoftware-com:iwse" cid="2A3CB42703EB20203F91951B89F3C5AF"> <PS8> <error>No rows exist for the specified keys. {CARRIER} (91,50)Failed to execute PSBusComp request</error> </PS8> </m:CARRIERResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
When the PeopleSoft Adapter cannot connect to PeopleSoft, the following SOAP response is generated.
<?xml version="1.0" enco ding="ISO-8859-1" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/ envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>java.lang.Exception: Error Logon to PeopleSoft System<faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
iWay Software |