我使用Jersey创建了简单的Web服务,该服务读取XML文件,然后基于该xml创建一些对象。我所拥有的只是一种将帖子作为xml使用的方法。我解析xml并使用值来创建一些业务对象。
最近我们发现我们的客户只支持SOAP。
有没有办法在此基础上轻松编写SOAP包装器? (我看到骡子提到但从未使用过它)
或者从头开始并在SOAP中重写会更容易吗?
我对SOAP完全不熟悉,它看起来比我使用Jersey的经历复杂得多。谢谢!
答案 0 :(得分:0)
最简单的方法是公开一个将XML作为字符串的方法,解析它并返回一个XML文档(同样作为String)。
public class Receiver {
public String postXML(String inputDocument) {
// parse and process XML xml
...
return outputDocument.toString();
}
...
}
您应该能够在Jersey服务中使用该方法,必要时可以通过委派给单独的类。使用soap:http://axis.apache.org/axis/java/index.html
可以很容易地围绕这样的Facade对象创建SOAP服务技术上优越的解决方案是将您的XML分解为面向对象的数据传输对象,或者使用例如XML实现SOAP服务。文档/文字消息。前者可能只是增加成本而没有价值,具体取决于您的情况。后者可能甚至不会得到您的合作伙伴的支持。有关SOAP消息传递样式的讨论,请参阅:
http://msdn.microsoft.com/en-us/library/ms996466.aspx#rpc_literal_topic3