在发送端口中使用WCF定制适配器的Wshttps绑定获取名称为'NotUnderstood'的多个标头

问题描述

以下是配置详细信息:

SOAP Action:

enter image description here

错误详细信息:

通过URI“ https://simon-qa.dhec.sc.gov/hl7engine_qa/CDC/V1/IISService.svc”发送到发送端口“ SendSIMONMessage”的适配器“ WCF-Custom”的消息被挂起。 错误详细信息:System.ServiceModel.MessageHeaderException:找到了多个名称为“ NotUnderstood”且名称空间为“ http://www.w3.org/2003/05/soap-envelope”的标头。 在System.ServiceModel.Channels.MessageHeaders.FindNonAddressingHeader处(字符串名称,字符串ns,字符串[]角色) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.copyHeadersToContext(消息wcfMessage,IBaseMessageContext btsMessageContext) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateBizTalkMessage(IBaseMessageFactory messageFactory,IAdapterConfigInboundMessageMarshalling marshallingConfig,消息wcfMessage,TLConfig tlConfig,RLConfig rlConfig) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult结果) MessageId:{53B82908-5706-4132-8FE6-0A2EC68D80DC} InstanceID:{A2072008-0388-4B4C-B25E-A8D73274EBE3}

有人可以帮忙吗?

解决方法

您应该在Soap12的WCF-Custom发送端口上使用customBinding。在customBinding中,将以下属性textMessageEncoding-> messageVersion更改为Soap12。您还应该使用Consume WCF Service向导使用服务wsdl生成绑定文件。它应该生成适当的绑定以供使用。您不必根据设计使用生成的业务流程