将翻译后的4010 xml提交到旧版Web服务后收到错误



下午好。

我向密歇根州发送了一个270,并收到了一个271,然后我将其转换为271的4010版本,以便传统的Web服务可以尝试吸收数据。Web服务使用dbml和LINQ将消息转换为一系列表示数据库的类。转换发生后,它执行事务并更新客户端。然而,我得到了一个错误,说:

适配器无法传输要发送到发送端口"SendEDI"的消息带有URL"http://biz05/WriteEligibilityResponse/service.svc"在为此发送指定的重试间隔之后重新传输Port。Details:"System.ServiceModel.FaultException:a:InternalServiceFault试图删除一个X12_ NM1和一个X12_271_。然而,这段关系的外键(X12_271_2120C.X12_NM1_Id)不能设置为无效的尝试使得去除X12_ NM1和X12_。然而,这段关系的一个外键(X12_271_2120C.X12_NM1_Id)不能设置为无效的在EligibilityLookup.Service.ResponseToSQL.WriteResponse(消息消息)

在SyncInvokeWriteResponse(Object,Object[],Object[])

位于System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,Object[]输入,Object[]&输出)

在System.ServiceModel.Dispatcher.DispatchOperationRuntime.IInvokeBegin(MessageRpc&rpc)

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

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

位于System.ServiceModel.Dispatcher.MessageRpc.Process(布尔值isOperationContextSet)System.InvalidOperationException

在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult结果)"。

请记住,我不能更改LINQ代码(我不能将编辑客户端作为管理描述的一部分,重建前端是项目的第二阶段)有什么可以绕过的方法吗?我已经删除了该元素的映射中的5010到4010链接,我也不在乎我是否在遗留系统中获得了完整的271数据集。

只是在谷歌上搜索错误,结果是:http://blogs.msdn.com/b/bethmassi/archive/2007/10/02/linq-to-sql-and-one-to-many-relationships.aspx

如果您无法更改linq模型,则似乎必须将数据映射到发送到web服务的4010文档中,以便在映射到X12_271_2120C表的X12_NM1中填充数据。

最新更新