我们已将环境更新为biztalk 2016,并使用wcf-sap发送端口调用sap rfc。
我们接收到NCO连接类型的错误。在biztalk 2009中,具有发送端口wcf-sap的同一rfc可以完美工作:
错误描述:Microsoft.ServiceModel.Channels.Common.MetadataException:无法针对SAP系统解析RFC,因为无法获取其元数据。--->sap.middleware.connector.rfcinvalidstateexception:查找目标ncoconnection的函数元数据失败-->sap.middleware.connector.rfcconnectionexception:从中检索元数据时,唯一可用的目标nconnection62.87.2.23p47prueba002esono_bztk失败--有关详细信息,请参阅日志 在sap.middleware.connector.rfcrepository.findAlternateDestination(int32&destindex,int32&alternativeDestinationsCount,异常ex) 在sap.middleware.connector.rfcrepository.execute(rfcfunction函数) 在sap.middleware.connector.rfcrepository.lookupFunctionMetadataClassic(字符串名称) ---内部异常堆栈跟踪结束--- 在sap.middleware.connector.rfcrepository.lookupFunctionMetadataClassic(字符串名称) 在sap.middleware.connector.rfcrepository.lookupFunctionMetadata(字符串名称) 在sap.middleware.connector.rfcrepository.getFunctionMetadata(字符串名称) 在Microsoft.adapters.sap.nco.rfcclientconnection.getrfcfunctioninterface(字符串rfcname) 在microsoft.adapters.sap.internalrfcmetadata.initializerfcfieldsnco(字符串originalrfcname,sapconnection sapconnection) 在Microsoft.Adapters.SAP.SapMetadataContract.ResolveOperationMetadata(字符串操作ID、TimeSpan超时、TypeMetadataCollection和ExtraTypeMetadataResolved) 在microsoft.servicemodel.channels.common.design.metadatacache.getoperationmetadata(字符串uniqueid、guid clientid、时间跨度超时) 在Microsoft.adapters.sap.sapfunctionmetadatanco.resolveooperationmetadatausingsdknco(字符串绝对名、字符串显示名、字符串函数名、字符串操作命名空间、sapconnection sapconnection、布尔值istrfc、metadatalookup metadatalookup、timeouthelper timeouthelper) ---内部异常堆栈跟踪结束---
知道吗?
确认SAP系统设置为 unicode 对于本RFC,如前所述 here ,解决了类似的问题。
unicode
在visual studio中再次生成sap模式也没什么坏处,可能有一些更改。