有没有得到BizTalk Web服务向导为业务流程生成的Web服务返回一个值,而不是它有一个void返回,它是否使用ref返回?
我正在尝试模拟一个非常简单的现有Web服务... web方法接受一个字符串并返回一个字符串... public string MyTestMethod(string MyVal)
业务流程中的Web服务代理有效,但BizTalk向导会生成... public void MyTestMethod (ref string MyVal)
我已尝试过高级选项,强制请求响应,但似乎没有做任何事情
答案 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)
完全删除... [return: System.Xml.Serialization.XmlElementAttribute ...]
属性
另外调整WebService(Name="", Namespace="",...)
值以适合
这当然意味着您不能只使用向导重新生成: - (
答案 2 :(得分:0)
我知道这是一个相当古老的帖子,但以防其他一些事情发生了:我设法按照 Tom Redfern 的建议去做。如果您的入站业务流程端口是双向的,它将完美地运行。
在我的情况下,我不得不将业务流程公开为WCF服务,其中我的业务流程接收域(例如" gmail.com")作为输入参数,进行一些处理,最后执行存储过程获取属于该域的电子邮件列表。所以我有一个" Domain"作为输入和" ListOfUsers"作为输出。将我的入站编排端口设置为" TWO-WAY"允许我收到类型为" Domain"的消息并输出类型" ListOfUsers"的消息。
之后我可以使用" BizTalk WCF服务发布向导"它完美地生成它。只需要调整名称空间,端口名称,应用程序池等等都很好!尝试使用SoapUI并且工作出色!