我正在为我们的VXML应用程序编写一个接口,它将允许访问SOAP服务。
由于试图使用javascript进行SOAP调用所固有的困难,以及VXML的局限性,例如在进行外部资源调用时,几乎只限于HTTP请求、GET和POST。
我设计了一个java,它将充当VXML应用程序的服务提供者。它可以使用指示web服务类型、要调用的方法名和传递给它的参数的参数来调用这个servlet。servlet然后进行适当的web服务调用,并在标准化的VXML文档响应中返回响应。
问题是,我严重低估了SOAP的实际难度。我以为我可以简单地构造soap调用,然后用java执行它,但是它对我来说更复杂一些,需要像Apache Axis2这样的东西。
我在某个地方读到,Axis的听众可能是HTTP servlets,这听起来很像我已经在做的事情。
我在这里重新发明方向盘吗?
对于如何做得更好,我有什么建议吗?
我非常喜欢我现在所做的事情,所以我非常愿意接受一种简单的方式来完成SOAP调用并处理来自jsp servlet的响应。
编辑--在采纳了这里的建议之后,我进一步研究了Axis。
事实证明,Axis2是Apache的第三代Apache SOAP。不幸的是,经过广泛的搜索之后,我找不到一个可以下载原始Apache SOAP实现的单独位置。
我可能不在乎:
( A) Axis允许我将几个jars和jsps集成到一个独立的WAR应用程序中
B)一切..。我的意思是,到目前为止,所有的事情都是用ApacheSOAP的例子来完成的(我正在使用的书,到目前为止我编写的代码)。一切)。
所以我搜索了更多的想法..。嘿,Java必须有一个独立的库,它只允许我单独进行一个简单的SOAP调用并解析结果。
但不,没有这样的运气!
显然,如果你想使用Java和SOAP,你要么有一个巨大而又复杂的轴,要么..。您可以将自己的soap实现从头到尾滚动起来。我受够了。我不明白为什么soap如此美妙,因为在过去的7~ 13小时里,我只是尝试从JSP获得一个简单的JSP请求。
发布于 2009-11-04 21:39:07
像Axis这样的库绝对是解决方案,您不希望自己构建/解析SOAP消息。
看看如何使用wsdl2java (另一个链接和另一个)来创建客户端代理,您可以为其调用web services。这将生成一堆Java代码,您可以从代码中调用这些代码,然后Axis将处理将参数打包到XML消息中,将其发送到服务器,反序列化响应等等。
https://stackoverflow.com/questions/1676505
复制相似问题