Scenario 2: ABL updated, but Web service not redeployed
- Last Updated: March 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
In this scenario, ABL is updated with a different procedure prototype (signature), but the Web service is not updated accordingly. At this point:
- The client sends the following method request:
FindCustomerByNum(3, custNameVar) - The WSA gets the request and asks the server to run the procedure
FindCustomerByNum.p. - The server:
- Tries to run
FindCustomerByNum.p - Detects a parameter-type mismatch and records the following error
message in its log,
*.server.log:[02/12/11@16:07:01.427-0500] P-000371 T-000370 0 AS -- Mismatched parameter types passed to procedure OrderInfo/FindCustomerByNum.p. (3230) - Returns the error to the WSA
- Tries to run
- The WSA:
- Records the following message in its log:
[02/12/11@16:07:01.802-0500] P-000120 T-Thread-11 2 OrderInfo ABL-Provider (reqid:6) Error in SOAP request execution: ABL ERROR condition: Mismatched parameter types passed to procedure OrderInfo/FindCustomerByNum.p. (3230) (7211) (10926) - Sends the following SOAP containing a SOAP fault back to the
client:
<?xml version="1.0" encoding="UTF-8" ?> <soap:Envelope namespaces defined here…> <soap:Body> <soap:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>An error was detected … request. (10893) </faultstring> <detail> <FaultDetail xmlns="http://servicehost:8080/wsa/wsa1"> <errorMessage>Error in SOAP request execution: ABL ERROR condition: Mismatched parameter types passed to procedure OrderInfo/FindCustomerByNum.p. … (10926) </errorMessage> <requestID>2e62cab6b81150d5:-87f76e:f20f57227d:-8000#6 </requestID> </FaultDetail> </detail> </soap:Fault> </soap:Body> </soap:Envelope>Note: This example uses a value of 3 for theserviceFaultLevelproperty.
Notice the correspondence between the
"(reqid:6)"string in the log file entry and the"<requestID> ...2e62...#6"string in the SOAP fault message, indicating information for the same request. - Records the following message in its log:
- The interface translates the SOAP fault into a SOAP exception.
- The client catches the SOAP exception.
- The client displays the following error message (assuming the client
application has a user interface):
