Home Page › Forums › BizTalk 2004 – BizTalk 2010 › BizTalk 2009 Change to AX Interface…
- This topic has 1 reply, 1 voice, and was last updated 9 years, 2 months ago by
community-content.
-
AuthorPosts
-
-
August 10, 2010 at 12:33 PM #25592
Background:
Me: I am very new to BizTalk; however, I have worked with it for about 6 months now and prior to that I did some Tibco development.
Project: We are replacing a legacy FileMaker Sales Order application with MS CRM 4.0. The current system has been using BizTalk to put sales orders into out AX system.
Problem:
Recently, I was asked to make a minor change to the orchestration. This entailed removing a current field-to-field mapping; routing the field to a “new” field in AX and converting it to a #0.00 format on the way. The “new” field was not available in the Production Interface, so some changes were made to the interface which exposed the new field. Since that change was made, I have been getting the following error:
3247785-4438347 Error Description :Microsoft.XLANGs.Core.XTransformationFailureException: Error encountered while executing the transform Integration.Crm.AX.Maps.Map_ProdTicket_To_UnitInkDieMaterialString. Error:Transformation failed.. —> System.Xml.XPath.XPathException: Function ‘userCSharp:inkitemid1()’ has failed. —> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.Xslt.CompiledScripts.CSharp.ScriptClass_3.inkitemid1(String param1, String param2)
— End of inner exception stack trace —
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& 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.Xml.Xsl.XsltOld.XsltCompileContext.FuncExtension.Invoke(XsltContext xsltContext, Object[] args, XPathNavigator docContext)
at MS.Internal.Xml.XPath.FunctionQuery.Evaluate(XPathNodeIterator nodeIterator)
— End of inner exception stack trace —
at MS.Internal.Xml.XPath.FunctionQuery.Evaluate(XPathNodeIterator nodeIterator)
at System.Xml.Xsl.XsltOld.Processor.RunQuery(ActionFrame context, Int32 key)
at System.Xml.Xsl.XsltOld.VariableAction.Execute(Processor processor, ActionFrame frame)
at System.Xml.Xsl.XsltOld.ActionFrame.Execute(Processor processor)
at System.Xml.Xsl.XsltOld.Processor.Execute()
at System.Xml.Xsl.XslTransform.Transform(XPathNavigator input, XsltArgumentList args, Stream output, XmlResolver resolver)
at Microsoft.XLANGs.Core.Service.ApplyInMemoryTransform(Type mapRef, TransformMetaData trfMetaData, Object[] outParams, Object[] inParams)
— End of inner exception stack trace —
at Microsoft.XLANGs.Core.Service.ApplyInMemoryTransform(Type mapRef, TransformMetaData trfMetaData, Object[] outParams, Object[] inParams)
at Microsoft.XLANGs.Core.Service.ApplyTransform(Type mapRef, Object[] outParams, Object[] inParams)
at Integration.Crm.AX.ProdTicket.segment2(StopConditions stopOn)
at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Because of the very minor effort required to perform the change, I can’t believe that the inkitemid1() is now suddenly failing. I have tried changing the map back to the original, but no change in the error. To my pea brain, this is saying that there is something wrong with the new AX Interface. (I replaced the original by creating a dummy program and Add(ing) a new generated item. When I compare the original and new, they appear to have the changes I expect (i.e. – the new field shows up in the XML). Have I failed to register the new interface through some arcane method only known by real BizTalk Gurus? Or, am I barking up the wrong tree?
Any help with this stinker will be greatly appreciated…
-
August 13, 2010 at 3:18 PM #25632
I know this was a tough one. We finally had our consultant log in. Even after that, it took him 3 hours to find it. Someone or something (as in a process) had modified our machine.config file. It removed the reference to one of the database we use with a .NET assembly. It worked when the map was “tested” but not when it was executed – a strange one indeed…
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.