Axis、Java消息服务和MIME头

Axis、Java消息服务和MIME头,java,web-services,jms,axis,Java,Web Services,Jms,Axis,我们通过Axis使用一个基于Java消息传递服务的Web服务,该Web服务返回一个封装在MIME头中的XML文档。这会导致问题,因为我们无法识别返回值。Google上的解决方案是将mail.jar和activation.jar移动到classpath。但是,我们使用托管解决方案,提供者[Demandware]不允许我们移动jar文件。这个问题还有别的解决办法吗?有没有可能阻止JMS将返回包装到MIME头中(奇怪的是,我们对第三方web服务的控制比托管解决方案更大)。听起来您希望Demandwar

我们通过Axis使用一个基于Java消息传递服务的Web服务,该Web服务返回一个封装在MIME头中的XML文档。这会导致问题,因为我们无法识别返回值。Google上的解决方案是将
mail.jar
activation.jar
移动到
classpath
。但是,我们使用托管解决方案,提供者[Demandware]不允许我们移动jar文件。这个问题还有别的解决办法吗?有没有可能阻止JMS将返回包装到MIME头中(奇怪的是,我们对第三方web服务的控制比托管解决方案更大)。

听起来您希望Demandware充当SOAP web服务服务器,不是吗?但是,当前版本的Demandware不支持这一点。目前只支持基于REST的web服务,客户端可以使用这些服务


从我的观点来看,这也是不可能定制的。这可能也是您遇到此问题的原因。

您可以使用HTTPClient与Web服务通信,并使用Demandware脚本代码创建/解析SOAP信封,但这是一件乏味的事情。 您还可以查看Jorge Matos提供的Webservice框架的Demandware XChange portal(封闭站点,需要注册)

此外,使用命令行AXIS工具包并查看生成的存根也是有帮助的。 由于AXIS用于Demandware服务器,当您在cartridge webservices文件夹中包含wsdl文件时,您将使用从Demandware内部生成和使用的相同存根