C++;JMS客户端或C++/C SOAP客户端 我在C++中有一个应用程序,但是它需要“基于java”的消息服务。在过去,我们使用WebSphere MQ,并使用它们的C++库来进行“交谈”。 >我正在寻找(理想地)免费的C++到java解决方案,它不能将整个JVM保存在内存中。p>
我研究过的另一个选项是SOAP。 我已经研究了Axis2-C,但它提供了我不需要的整个服务器实现。 我看到过关于gSOAP的讨论,但这里的评论褒贬不一。它似乎又为我提供了一个完整的服务器 我可以自己编写代码——但这违背了我(基于Java)的信念,即优秀的免费代码存在于此 谢谢!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驱动程序
这里有两点对我来说没有意义,JMS是通用消息传递API上的java特定抽象,与JDBC是通用数据库API上的java特定抽象非常相似。
我无法想象有人想要一个C++应用程序的JDBC驱动程序,他们宁愿使用ODBC驱动程序。p> <如果>我假设您的目标是不使用来自C++应用程序的WebSphere MQ发送消息,那么我建议您考虑以下内容:
- 您需要异步消息传递吗?i、 e.将消息存储在队列中,直到消息被消耗为止
- 如果是,那么web服务将不适用于您的应用程序,除非您准备托管一个web服务器来接收响应,并回调您的应用程序
您可以考虑使用消息传递提供程序,它提供JMS API的实现,也实现STOMP协议,它包含多种语言的客户端库,包括C++。p> 您可以在尝试各种选项时,通过使用以下内容实现一个集成层,让您对端点协议的决策保持开放。
您可以在Mule上快速开发小型集成,例如在ActiveMQ上接受消息,并将其发布到Web服务,并将Web服务响应放在不同的ActiveMQ响应队列上。反之亦然,接受web服务调用并将SOAP发布到JMS队列中,等待JMS响应并构建SOAP响应 有许多类似ESB的框架可以在不同程度上促进此类集成:
-
-
-(链接上的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。