c# - 从 BizTalk WCF-WebHttp 适配器向 Mule 服务发布消息时出错:服务不支持内容类型应用程序/json
问题描述
我正在尝试将消息发布到 HTTPs 绑定的 Mule 模拟服务。我可以看到消息在发布到 Mulesoft 的服务之前被转换为适当的 JSON 格式。
我什至尝试使用 Postman 将此消息直接发布到服务中,并且效果很好。但是当通过 WCF-WebHttp 适配器发送相同的消息时,我不断收到以下错误:
从 BizTalk WCF-WebHttp 适配器向 Mule 服务发布消息时出错:服务不支持内容类型 application/json https://anypoint.mulesoft.com/mocking/api/v1/links/uuid/uriparam 客户端和服务绑定可能不匹配。{"code":"INVALID_RESPONSE_ACCEPT_HEADER","message:"尝试查找无效媒体类型的响应时出错"}*
WCF-WebHttp 适配器配置为使用安全模式作为传输和传输客户端凭据类型为无,因为服务不需要任何身份验证或证书。
请注意,相同的 BizTalk 应用程序被配置为将消息推送到虚拟 Mulesoft 云集线器服务,并且对于相同的消息内容,它可以与 HTTP URL 一起正常工作。
解决方案
该错误看起来与 Accept 标头有关。*/*
您应该在从 BizTalk 发送请求时将Accept 标头设置为值。邮递员会自动添加标题。
如果这不起作用,则使用 Postman 控制台日志查看实际请求和响应的标头,并将其与 BizTalk 请求和响应进行比较。要查看 BizTalk 请求详细信息,请使用 Fiddler(您可以在发送请求的机器上运行 fiddler 后将http://localhost:8888设置为代理),然后比较两个结果并相应地更正不匹配。
推荐阅读
- reactjs - 如何在本机反应中将数据从抽屉自定义组件传递到屏幕?
- db2 - 如何删除 DB2 Java 存储过程?
- javascript - AngularJS 为什么我的控制器没有响应?
- python - Python:抓取.json,输入pandas DataFrame并输出为excel
- regex - Python中的正则表达式删除逗号和空格
- vb.net - VB跟踪高低数字
- c++ - l-value ref 和 r-value ref 和 non-ref 类型的完美转发可变参数模板?
- vue.js - 你如何在路由器视图中传递数据
- python - TypeError:'int' 对象不可迭代。遍历字符串数据中的每个字符串时
- excel - 使用 2 行中的 2 个条件计算唯一值