SSIS Error After Adding the BO & Utility Dlls

SOLVED
Go to solution
Member

SSIS Error After Adding the BO & Utility Dlls

After developing using the cs files, I recently replaced them with a reference to the BO & Utility Dlls located in ...DTS\Binn\ folder

 

I'm able to query by list type getListMember() which wasn't present in the cs Utility file (do I have the wrong one?) Anyway, the getListMember() is working, but now I have the followin error UpdateFullForm.

 

Also, note that I also lost UpdateSmallForm() that was present in the Utility.cs but isn't found in the dll? Error:

 

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

at ConstantContactUtility.Components.ContactComponent.CreateFullUpdateAtomEntry(Contact contact, String accountContactUri, String accountContactListUri)

at ConstantContactUtility.Components.ContactComponent.UpdateContact(Contact contact, String apiUri, String accountContactListUri, Boolean fullUpdate)

at ConstantContactUtility.Utility.UpdateContact(AuthenticationData authenticationData, Contact contact)

at ConstantContactUtility.Utility.UpdateContactFullForm(AuthenticationData authenticationData, Contact contact)

at GoSync.ScriptMain.Main() --- End of inner exception stack trace ---

at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)

at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture) at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

1 ACCEPTED SOLUTION

My work-around is to abandon the dll's in favor of the cs scripts. I already had my own generic method to make a stream, I just added an enum for listType to compose the AddressUri and added logic to get the lastUpdate cutoff date from my ctctLog and I now have Active, Removed & DoNotMail lists in SQL. Triggers fire to eval the data and update the CRM data as needed.

View solution in original post

3 REPLIES 3
Employee

Hey,

 

We are currently looking into your issue and I apologize for any delay.

Ryan Davis
Quality Engineer
Member

No worries...

 

I should say I'm working with just one and the same contact for a few days, setting the mailing Yes/No fields in my database, which fires a trigger to put them into a queue. My sProc gets this one record and either is sending the same contact data except for variations in which ContactList is included in ContactLists; in other words I'm making no other changes to my code other than to add a reference to the dll's dated 9/28/2011 or using the Asp .Net cs scripts.

 

My only other change was to change the namespace of the uploadcontact.App_code namespace (done a week ago) to ConstantContactList and the clas to ConstantContact, and Auth data username = ScriptMain.username.  I'll post a down & dirty SSIS CtCt API soup to nuts how-to when I get some time...

My work-around is to abandon the dll's in favor of the cs scripts. I already had my own generic method to make a stream, I just added an enum for listType to compose the AddressUri and added logic to get the lastUpdate cutoff date from my ctctLog and I now have Active, Removed & DoNotMail lists in SQL. Triggers fire to eval the data and update the CRM data as needed.

View solution in original post

Developer Portal

View API documentation, code samples, get your API key.

Visit Page