下午好。
我向州(密歇根州)发送270并收到271,然后我转换为271的4010版本,以便遗留的Web服务可以尝试吸收数据。 Web服务使用dbml和LINQ将消息转换为一系列类,这些类在转换发生后表示数据库,它执行事务并更新客户端。但是我收到的错误是:
适配器无法传输发送端口“SendEDI”的消息 URL“http://biz05/WriteEligibilityResponse/service.svc”。它会 在为此发送指定的重试间隔后重新传输 港口。详细信息:“System.ServiceModel.FaultException:a:InternalServiceFaultAn尝试删除之间的关系 一个X12_NM1和一个X12_271_2120C。然而,其中一个关系 外键(X12_271_2120C.X12_NM1_Id)无法设置为 null。尝试了 用于删除X12_NM1和X12_271_2120C之间的关系。 但是,关系的一个外键 (X12_271_2120C.X12_NM1_Id)无法设置为 空值。在 EligibilityLookup.Service.ResponseToSQL.WriteResponse(消息消息)
在SyncInvokeWriteResponse(Object,Object [],Object [])
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object 实例,对象[]输入,对象[]&输出)
在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&安培; RPC)
在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&安培; RPC)
在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&安培; RPC)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)System.InvalidOperationException
在 Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult的 结果)”。
请记住,我无法更改LINQ代码(我无法编辑客户端作为管理层的一部分,重建前端是项目的第2阶段)是否有任何可行的方法来解决这个问题?我已经删除了该元素的地图中的5010到4010链接,我也不在乎我是否在遗留系统中获得了完整的271数据集。
答案 0 :(得分:0)
只是谷歌搜索出现错误: 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中填充数据。