0

几天来,我一直在尝试让 BizTalk 业务流程连接到外部axis2 Web 服务,但遇到了各种问题。

我采取的步骤是:

  1. 为服务生成的架构添加生成的项目 -> 使用 WCF 服务引发了一个空异常,因此我不得不使用 .NET 2.0添加 Web 引用来生成 xsd 和 odx。
  2. 手动创建简单的消息模式正如这里所问的,我为未自动生成的简单请求和响应消息创建了模式。
  3. 设置端口我试过WCF-CustomWCF-BasicHttpHttp

尝试接收响应时,我总是收到以下消息:

Inner exception: Invalid envelope namespace

Exception type: SoapException
Source: Microsoft.XLANGs.BizTalk.Engine
Target Site: System.Web.Services.Protocols.SoapException ReadSoapException(System.Xml.XmlReader)
The following is a stack trace that identifies the location where the exception occured

   at Microsoft.BizTalk.ExceptionUtil.ReadSoapException(XmlReader reader)
   at Microsoft.BizTalk.XLANGs.BTXEngine.SoapExceptionMsg.SoapExceptionFormatter.Deserialize(XLANGMessage msg, Stream stm)
   at Microsoft.BizTalk.XLANGs.BTXEngine.SoapExceptionMsg.get_TheException()
   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(Envelope env, String typeName, Context cxt, OperationInfo op)
   at Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)

该服务会引发 SOAP 异常,但消息(通过浏览器和 Fiddler 测试)不会通过 SOAP 信封包装器返回。

另一个奇怪的是,在 Fiddler 中,消息的正文中包含一些奇怪的字符。在大多数情况下:

70
{expected message}
0

我的问题是由于:

  • 服务配置
  • 我设置适配器的方式 - 我在哪里指定响应应该在 SOAP 信封内?
  • 手动添加响应模式。如果这不正确,我如何部署 Web 消息类型?
  • 那些意外的字符 - 我尝试了 Fiddler 的 AutoResponder 功能,删除了字符,但我得到了一个 IO 异常(连接关闭)
  • 其他...?
4

1 回答 1

0

事实证明,我正在使用 Http 端点而不是 SOAP 端点进行测试。嗬!

我现在在选择与 SOAP 1.1 或 1.2 和空信封一起使用的绑定时遇到其他问题(此处此处)。

于 2014-03-27T12:16:46.403 回答