1

我正在与之合作的团队购买了 CloudPort 许可证(来自 CrossCheck Networks),我们目前面临的问题是无法在服务 Mocks 中实现任何类型的逻辑(以控制响应选择)。这很简单:

if (requestCounter++ == 1)
    then 
        response = $fn:Global(MyFirstXmlString)$ // <-- this is CloudP syntax for vrbls
    else 
        response = $fn:Global(MySecondXmlString)$. 

我们没有找到任何使用 Dll 插件的示例,并且两个 JScript 和 VBScript 任务都没有工作(即,我们的客户端机器得到的不是期望的MySecondXmlString响应,而是一个错误

<faultstring>   
    ActiveX control '0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc' cannot be instantiated 
    because the current thread is not in a single-threaded apartment.
</faultstring>. 

信不信由你,即使 J- 或 VB-Script 任务为空,也会出现上述故障!我们很难相信 CloudPort UI 中宣传的所有逻辑功能都是假的,没有任何东西可以帮助实现上述逻辑。

任何帮助,将不胜感激!

谢谢,庞皮

PS:这里有更多关于为什么需要上述逻辑的详细信息:我们在测试框架中使用 SoapSonar 来触发对 BizTalk 编排应用程序的请求。需要 CP 模拟来模拟该 BT 编排的环境。我们无法通过 SSonar 请求控制单个模拟响应:(对于 cloudport:传入)客户端请求是由生产代码发出的,并且不能由我们的 SSonar 客户端更改或控制)。唯一对我们有用的任务功能是一个 DB 表,作为离线通道使用 SSonar 和 CP(SSonar 写入其中,CP 从中读取)。CloudPort 从 DB 读取 responseXml 工作正常,但我们找不到在 CP 端实现进一步行为控制逻辑的方法。因此,这个stackoverflow发布。

4

1 回答 1

0

不要认为你可以从脚本中控制它。

线程模型应该由主机控制,我想它使用 Windows 的“vbscript.dll”进行实际执行。因此,如果您在工具选项或帮助中找不到任何设置:),您应该在注册表项中查找该 ActiveX 或“vbscript.dll”的线程选项,即“ThreadingModel”值并尝试更改值(您还必须在网上搜索这些值,不知道它们)。

其他一些应用程序(防病毒软件?)可能会更改 COM 接口实际指向的 dll 的路径(请参阅http://social.technet.microsoft.com/Forums/en-US/ieitpropriorver/thread/ ac10bd5f-6d91-4aac-857c-0ed5758088ec )

希望能帮助到你。

于 2013-03-12T12:38:32.970 回答