我们正在通过Axis使用基于Java Messaging Service的Web服务,并且webservice返回一个包含在MIME头中的XML文档。这会导致问题,因为我们无法识别返回值。在Google上找到的解决方案规定将mail.jar
和activation.jar
移至classpath
。但是,我们使用托管解决方案,提供商[Demandware]不会让我们移动jar文件。这个问题还有另一个解决方案吗?是否可以阻止JMS在MIME头中包装返回(奇怪的是,我们对托管解决方案的第三方Web服务有更多的控制权。)
答案 0 :(得分:1)
听起来你希望Demandware充当SOAP Web服务服务器,不是吗?但是,当前版本的Demandware不支持此功能。目前仅支持基于REST的Web服务,客户可以使用这些服务。
从我的角度来看也无法自定义。这也可能是您遇到此问题的原因。
答案 1 :(得分:0)
您可以使用HTTPClient与WebService进行通信,并使用Demandware脚本代码创建/解析SOAP信封,但这样做很乏味。 您还可以查看Jorge Matos的Web服务框架的Demandware XChange门户网站(封闭网站,需要注册)。
使用命令行AXIS工具包并查看存根生成的内容也可能有所帮助。 由于AXIS用于Demandware服务器,当您在盒式磁带webservices文件夹中包含wsdl文件时,您将看到从Demandware内部生成和使用的相同存根。