Search This Blog

Tuesday, August 23, 2011

Pivotal Lifecycle Server XML Interface Error 800a0e7c Parameter object is improperly defined

Error 800a0e7c, 'Parameter object is improperly defined...', is one those errors that is practicely useless for troubleshooting.
 
Here is more of the error as logged by the Pivotal Lifecycle Server XML interface:

<error> <errorNumber>800a0e7c</errorNumber> <errorText>Parameter object is improperly defined. Inconsistent or incomplete information was provided.</errorText> <errorDetails> HRESULT = 800A0E7C -- Unknown error
...
</errorDetails> </error>


I've seen this error before when working with VB6, and you may have also.  The error is thrown by ADODB, an ActiveX Data Object. My most recent occurrance was in troubleshooting a web service implementing RXMLWriteSystem, a Pivotal Lifecycle Server XML interface.  The web service submits an XML payload using the DoXMLCommand method. 

What is counter-intuitive when troubleshooting this Pivotal XML interface ADODB error is that whether the command is a record insert or update, the command correctly executes a transaction to insert or update a record.  However, instead of returning a command result containing a record id for an insert or nothing for an update, the aforementioned error is returned.  Since an error is returned to the calling program other errors may be thrown or the calling program does not perform as intended.

I remember troubleshooting this error years ago in a similar situation.  Back then I had documented the error, its circumstance and resolution.  This gave me an advantage in quickly resolving the issue. 

The resolution to this error from my experience is the following:

The application pool running the web service that implements the Pivotal XML Interface must use an account identity having sufficient security permissions in Pivotal.  The system account ‘Network Service’ can not be used for the application pool identity.

From the transaction result and the resolution, you can see that the error does not offer much help in providing insight to a resolution.

Wednesday, June 15, 2011

Pivotal CRM Web Service Generator

Recently I installed the Pivotal CRM Web Service Generator (WSG) tool provided by CDC Software.  With the tool, I quickly generated web services for an integration service I built between a custom developed finance application and Pivotal CRM.

Installation
Installing WSG includes an RDF import.  The RDF import is required to generate the web service.  The RDF import is not required to provide functionality to the web service after the web service is created.

WSG requires the security group 'Relationship Administrator' to successfully generate a web service.  If the 'Relationship Administrator' security group is missing, as it was for the Financial Services vertical I support, it can be imported from the out-of-the-box business module (BM).  Export the security group using the Toolkit Transporter and import it into the target BM.

Implementation
WSG can generate a Visual Studio .NET 2003 project containing the web service methods and a class for the Active/Rich Client form.  The methods can include Insert, Update, and Delete. The class representing the form contains fields for the form's primary field values.  Some primary fields may be missing in the class. To add the missing fields, either customize the generated web service or pass the missing field names and their values as a string array parameter.  If you pass a parameter you handle it as usual in the form's server rule.

Unfortunately, WSG web services do not support secondary form segments and fields.  Since WSG web services use the Pivotal CRM XML Interface, it is feasible to customize the generated web service to process secondary fields.  I chose to leave the code as-is and not customize it.  Instead, I created another web service to process the secondary fields using the secondary's Active/Rich Client form.  For the  integration service, I have the the web service for the secondary fields consumed after the web service for the primary fields.

Conclusion
Pivotal CRM Web Service Generator is a helpful tool for quickly generating web services that can insert, update, and delete Pivotal CRM records using the Pivotal CRM XML Interface.