ConnectSOAP Request and Response Errors - Database-BadClassDef
SummaryUser was using a WSDL which refers to multiple .XSD files. One of the properties is defined with the same name in two of the .XSD files. In one as text type and in the other as complex type.
The WSDL was imported in the Pega to generate transformation rules and they are used to configure the SOAP connector. When the SOAP connector is executed the response is received correctly but in the log file, the user get error messages "Database-BadClassDef".
Error Messages<server name> xyz - Error in retrieving a class definition in find.
com.pega.pegarules.pub.database.BadClassDefinitionException: Database-BadClassDef <some string value>
Steps to ReproduceRun a Connect-SOAP rule.
Root CauseThe root cause of this issue is user error. A complex type element was assigned to a string type value. In other words in the transform rule user is assigning the "class definition = Scalar text value".
ResolutionPerform the following local-change step:
In the transform rule, the assignment of the class definition was modified to use OOTB property ”pyvalue”.
ClassType_element.pyvalue = "Some String"
Where "pyvalue” is a text property from “SingleValue-Text” class which is now used to hold the text value coming as a response from the external SOAP service.
Published June 24, 2016 - Updated October 8, 2020