1

我有一个工作编排来处理 X12 消息。现在我需要将编排公开为接受文本输入(X12 消息)并返回文本响应(X12 响应)的 Web 服务 (ASMX)。如果我尝试使用该向导,生成的 Web 服务将公开 X12 请求的内部 XML 表示,而不是其原始纯文本表示。

简而言之,我希望能够连接到 Web 服务(ASMX 而不是 WCF 服务),发送 X12 请求(纯文本)并获得适当的响应(也是纯文本)。

我已经看到使用 WCF 的示例,但没有使用简单的 web 服务。你能帮我解决这个问题吗?

谢谢!

4

3 回答 3

1

一种可能的解决方案是创建一个 SOAP 处理程序来将纯文本转换为 xml 表示形式(以便 BizTalk 可以读取它)并再次返回。虽然我自己没有尝试过,但它可能会起作用。您需要为请求创建一个处理程序,并为响应创建一个处理程序以拦截字符串并将其转换为 xml 模式并再次返回。您还可以查看使用通用 XML 文档而不是字符串,这可能是最简单的。看看这篇文章:

http://blogs.msdn.com/richardbpi/archive/2006/11/10/exposing-biztalk-web-services-that-accept-generic-content.aspx

-布莱恩

于 2009-03-31T02:01:20.640 回答
1

虽然我没有尝试过,但我有一种感觉,如果在管道中没有某种程度的自定义编码,你将无法做到这一点。

当您使用向导发布 Web 服务时,BizTalk 会采用涉及的架构并将它们用作 Web 服务的类型,这在几乎所有情况下都有意义,但在您的情况下则不然。

但是,据我所知,没有很好的方法来通过 SOAP 获取 EDI 消息;您可以创建您的 Web 服务来接受字符串消息并让客户端“知道”它需要是 X12,但是没有办法在 WSDL 中描述它。

但是,如果您这样做,您将在进入反汇编程序和编排之前将 X12 消息放入管道中,包装在一个元素中(或类似的东西,取决于您修改 Web 服务的方式)你将不得不有一些代码来删除它,但这应该相对容易编写。

于 2009-03-31T07:15:29.140 回答
0

我还将我的 x12 260 文件转换为 SOAP Webservice 。最好的方法是什么……我正在转换为 XML 并发送到 SOAP……但这里的问题是我只得到 3 个 xml,其中只有该文件中的事务详细信息……我的页眉和预告片去了哪里:(

任何人都遇到过这样的问题

于 2009-08-21T12:05:25.367 回答