BizTalk Web服务返回值而不是void + ref

时间:2011-07-08 16:57:19

标签: web-services biztalk biztalk2006r2

有没有得到BizTalk Web服务向导为业务流程生成的Web服务返回一个值,而不是它有一个void返回,它是否使用ref返回?

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

业务流程中的Web服务代理有效,但BizTalk向导会生成... public void MyTestMethod (ref string MyVal)

我已尝试过高级选项,强制请求响应,但似乎没有做任何事情

3 个答案:

答案 0 :(得分:0)

您是尝试将Orchestration发布为Web服务还是将Schema发布为服务?

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

答案 1 :(得分:0)

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

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

  • 中方法的ElementName
  • 完全删除... [return: System.Xml.Serialization.XmlElementAttribute ...]属性

  • 另外调整WebService(Name="", Namespace="",...)值以适合

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

答案 2 :(得分:0)

我知道这是一个相当古老的帖子,但以防其他一些事情发生了:我设法按照 Tom Redfern 的建议去做。如果您的入站业务流程端口是双向的,它将完美地运行。

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

之后我可以使用" BizTalk WCF服务发布向导"它完美地生成它。只需要调整名称空间,端口名称,应用程序池等等都很好!尝试使用SoapUI并且工作出色!