Support Article
ConnectSOAP Request and Response Errors - Database-BadClassDef
SA-24414
Summary
User 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 Reproduce
Run a Connect-SOAP rule.
Root Cause
The 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".
Resolution
Perform 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
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.