我已将 Sonic ESB 进程公开为 Web 服务,并编写了一个 .NET 应用程序,通过调用其方法将数据上传到它。
为此,我在 .NET 端有一个复杂对象库,我以 xml 格式将其添加到 Sonic ESB 端的 Web 服务定义中。这是公开 Sonic ESB 进程的必要步骤,因为要调用的方法应该能够识别从 .NET 应用程序传递的对象。
但是,当我尝试将服务引用添加到 .NET 应用程序时,相同的库在服务的每一端都被视为两个不同的库,因为它们被分配到不同的命名空间。确保在创建服务引用时选中“在引用的程序集中重用类型”没有区别:彼此对应的不同类型是分开的。
因此,以下代码会产生错误:
public string PushManifest(FargoGate.DtoLib.OutboundFargoMessage message)
{
FargoGateOnRampWSRequest wsRequest = new FargoGateOnRampWSRequest();
OutboundFargoMessage outMessage = new OutboundFargoMessage();
//TODO ERROR: Cannot convert source type 'FargoGate.DtoLib.OutboundMessage' to target type 'PollFargoJob.FargoGateOnrampWS.OutboundFargoMessage'
wsRequest.OutboundFargoMessage = message;
throw new NotImplementedException();
}
任何建议将不胜感激!