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


0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.