Получена грешка след изпращане на преведен 4010 xml към наследена уеб услуга

Добър ден.

Изпращам 270 до щата (Мичиган) и получавам 271, който след това трансформирам във версия 4010 на 271, така че наследена уеб услуга да може да се опита да усвои данните. Уеб услугата използва dbml и LINQ, за да преведе съобщението в поредица от класове, които представляват базата данни, след като се извърши превод, тя извършва транзакция и актуализира клиента. Въпреки това получавам грешка, която казва:

Адаптерът не успя да предаде съобщение за изпращане на порт "SendEDI" с URL адрес "http://biz05/WriteEligibilityResponse/service.svc". То ще бъде повторно предадено след интервала за повторен опит, определен за този порт за изпращане. Подробности: "System.ServiceModel.FaultException: a:InternalServiceFaultБеше направен опит за премахване на връзка между X12_NM1 и X12_271_2120C. Въпреки това един от външните ключове на връзката (X12_271_2120C.X12_NM1_Id) не може да бъде зададен на нула. Беше направен опит за премахнете връзка между X12_NM1 и X12_271_2120C. Един от външните ключове на връзката (X12_271_2120C.X12_NM1_Id) обаче не може да бъде зададен на нула. в EligibilityLookup.Service.ResponseToSQL.WriteResponse(Message message)

при SyncInvokeWriteResponse(Object , Object[] , Object[] )

в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Екземпляр на обект, входове на обект[], обект[]& изходи)

в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)

в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)

в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)

в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)System.InvalidOperationException

в Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult резултат)".

Имайки предвид, че не мога да променя LINQ кода (не мога да редактирам клиента като част от план за управление, възстановяването на предния край е Етап 2 на проекта), има ли някакъв предложен начин да се заобиколи това? Вече премахнах връзката 5010 към 4010 в картата за този елемент и също не ме интересува дали получавам пълен набор от данни 271 в наследената система.


person Gregory Saxton    schedule 12.01.2012    source източник


Отговори (1)


Само гугъл грешката излезе с това: http://blogs.msdn.com/b/bethmassi/archive/2007/10/02/linq-to-sql-and-one-to-many-отношения.aspx

Ако не можете да промените модела на linq, тогава изглежда, че ще трябва да картографирате данни в документа 4010, който изпращате на уеб услугата, така че данните да се попълват в X12_NM1, който картографира към таблицата X12_271_2120C.

person yieldvs    schedule 13.01.2012