0

无论如何要让 BizTalk Web 服务向导生成的 Web 服务用于编排以返回一个值,而不是它有一个 void return 并且它使用 return by ref ?

我正在尝试模拟一个非常简单的现有 Web 服务……该 Web 方法接受一个字符串并返回一个字符串…… public string MyTestMethod(string MyVal)

从业务流程到 Web 服务的代理工作正常,但 BizTalk 向导会生成...public void MyTestMethod (ref string MyVal)

我尝试了高级选项强制请求响应,但这似乎没有任何作用

4

3 回答 3

0

您是否尝试将编排发布为 Web 服务或架构即服务?

使用 Web 服务向导时的注意事项:http ://technet.microsoft.com/en-us/library/aa559660(BTS.20).aspx ... 适用于 2006 R2

于 2011-07-08T20:46:35.157 回答
0

我找到的唯一答案是手动编辑 BizTalk Web 服务发布向导生成的 ASMX.CS 文件......

  • 更改参数中方法的 ElementName ...([XmlElement(Namespace = null, ElementName = "XML")] string part)

  • 完全删除 ...[return: System.Xml.Serialization.XmlElementAttribute ...]属性

  • 加上调整WebService(Name="", Namespace="",...)值以适应

这当然意味着您不能只使用向导重新生成 :-(

于 2011-07-16T09:52:19.160 回答
0

我知道这是一个很老的帖子,但以防万一其他人出现:我设法按照上面汤姆雷德芬的建议去做。如果您的入站编排端口是双向的,它可以完美运行。

在我的情况下,我必须将业务流程公开为 WCF 服务,其中我的业务流程接收域(例如“gmail.com”)作为输入参数,进行一些处理并最后执行一个存储过程,该过程获取电子邮件列表到那个域。所以我有一个“域”作为输入,“ListOfUsers”作为输出。将入站编排端口设置为“TWO-WAY”允许我接收“域”类型的消息和“ListOfUsers”类型的输出消息。

之后我可以使用“BizTalk WCF 服务发布向导”并完美生成它。只需要调整命名空间、端口名称、应用程序池等,一切都很好!尝试使用 SoapUI 并且效果很好!

于 2014-05-08T21:11:22.533 回答