Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;JMS客户端或C++/C SOAP客户端 我在C++中有一个应用程序,但是它需要“基于java”的消息服务。在过去,我们使用WebSphere MQ,并使用它们的C++库来进行“交谈”。 >我正在寻找(理想地)免费的C++到java解决方案,它不能将整个JVM保存在内存中。p>_Java_C++_Soap_Jms - Fatal编程技术网

C++;JMS客户端或C++/C SOAP客户端 我在C++中有一个应用程序,但是它需要“基于java”的消息服务。在过去,我们使用WebSphere MQ,并使用它们的C++库来进行“交谈”。 >我正在寻找(理想地)免费的C++到java解决方案,它不能将整个JVM保存在内存中。p>

C++;JMS客户端或C++/C SOAP客户端 我在C++中有一个应用程序,但是它需要“基于java”的消息服务。在过去,我们使用WebSphere MQ,并使用它们的C++库来进行“交谈”。 >我正在寻找(理想地)免费的C++到java解决方案,它不能将整个JVM保存在内存中。p>,java,c++,soap,jms,Java,C++,Soap,Jms,我研究过的另一个选项是SOAP。 我已经研究了Axis2-C,但它提供了我不需要的整个服务器实现。 我看到过关于gSOAP的讨论,但这里的评论褒贬不一。它似乎又为我提供了一个完整的服务器 我可以自己编写代码——但这违背了我(基于Java)的信念,即优秀的免费代码存在于此 谢谢! 这里有两点对我来说没有意义,JMS是通用消息传递API上的java特定抽象,与JDBC是通用数据库API上的java特定抽象非常相似。 我无法想象有人想要一个C++应用程序的JDBC驱动程序,他们宁愿使用ODBC驱动程序

我研究过的另一个选项是SOAP。 我已经研究了Axis2-C,但它提供了我不需要的整个服务器实现。 我看到过关于gSOAP的讨论,但这里的评论褒贬不一。它似乎又为我提供了一个完整的服务器

我可以自己编写代码——但这违背了我(基于Java)的信念,即优秀的免费代码存在于此

谢谢!
这里有两点对我来说没有意义,JMS是通用消息传递API上的java特定抽象,与JDBC是通用数据库API上的java特定抽象非常相似。
我无法想象有人想要一个C++应用程序的JDBC驱动程序,他们宁愿使用ODBC驱动程序。p> <如果>我假设您的目标是不使用来自C++应用程序的WebSphere MQ发送消息,那么我建议您考虑以下内容:

  • 您需要异步消息传递吗?i、 e.将消息存储在队列中,直到消息被消耗为止
  • 如果是,那么web服务将不适用于您的应用程序,除非您准备托管一个web服务器来接收响应,并回调您的应用程序
您没有提到底层基于java的消息服务是JMS还是WebServices。
您可以考虑使用消息传递提供程序,它提供JMS API的实现,也实现STOMP协议,它包含多种语言的客户端库,包括C++。p> 您可以在尝试各种选项时,通过使用以下内容实现一个集成层,让您对端点协议的决策保持开放。
您可以在Mule上快速开发小型集成,例如在ActiveMQ上接受消息,并将其发布到Web服务,并将Web服务响应放在不同的ActiveMQ响应队列上。反之亦然,接受web服务调用并将SOAP发布到JMS队列中,等待JMS响应并构建SOAP响应

有许多类似ESB的框架可以在不同程度上促进此类集成:

编辑: 鉴于澄清,我将完善我的回答:

您需要一个通用的消息代理,它可以访问C++和java,例如Actudioq.< /LI>
  • 您需要一个小型/轻量级的集成层,例如上面的一些层,以便从ActiveMQ接受并转发到SonicMQ,反之亦然 2.1根据我对Sonic的了解,他们有一个ESB堆栈,应该能够做到这一点,而不是使用上面提到的容器/框架之一,但这将打开您和客户机之间的集成所有权问题

    我发现3个链接显示了C和C++的音符支持:
    -
    -
    -(链接上的DIGY MIME类型)

    < P> SunICMQ站点似乎支持C++ + < /P>

    >这是合适的。

    < P>有SONICMQ的C++库。主要的限制是,您必须使用Sonic用于编译库的相同构建(即STL库等)


    当然,你在半年前问过这个问题,所以这个信息可能有点晚了。:-)

    好的,让我澄清一下我自己(并为不清楚而道歉)。当前MQ正在更改为新的消息层—SonicMQ(这是客户端的更改)。据我们所知,没有任何C++库可以像IBM MQ那样对SonicMQ进行“交谈”。因此,我将JMS和WebServices(SOAP)作为可能的传输层。我的C++应用程序不能改变,因为它一点也不小……是的,谢谢这些!不知何故,我们这里的一些人设法避免了找到他们。无论如何。。。我仍然希望知道如何从C++获得一个现成的SOAP客户端(尽可能瘦),你可以看看QT SOAP组件。该链接包括一个如何使用SOAP进行谷歌搜索的示例。好的,让我澄清一下(并为不清楚而道歉)。当前的IBM MQ正在更改为新的消息层—SonicMQ(这是客户机的更改)。据我们所知,没有任何C++库可以像IBM MQ那样对SonicMQ进行“交谈”。因此,我将JMS和WebServices(SOAP)作为可能的传输层。我的C++应用程序不能改变,因为它根本就不小。啊,这确实说明了问题。我撤回了我的回复,因为它只适用于WMQ。