我正在为VXML
应用编写一个允许访问SOAP
服务的界面。
由于尝试使用javascript进行SOAP
调用以及VXML
限制所固有的困难,因为外部资源调用几乎仅限于HTTP
个请求,{{1} }和GET
。
我设计了一个java servlet,它将充当POST
应用程序的服务提供者。它可以使用参数来调用此servlet,这些参数指示Web服务类型,要调用的方法名称以及传递给它的参数。然后,servlet进行适当的Web服务调用,并在标准化的VXML
文档响应中返回响应。
问题是我严重低估了VXML
的真实难度。我以为我可以简单地构建soap调用并在java中执行它,但是它对我这样看起来更复杂,需要像SOAP
这样的东西。
我在某处读到Apache Axis2
的听众可能是Axis
,这听起来很像我现在所做的。
我在这里重新发明轮子了吗?
对于我如何更好地做到这一点有什么建议吗?
我现在非常投入到我现在这样做的方式,因此非常容易接受完成HTTP servlets
调用并处理来自SOAP
的响应的简单方法。
编辑 - 在接受了此处的建议后,我进一步深入了解jsp servlet
。
事实证明,Axis
是Apache的第三代Axis2
。不幸的是,经过广泛搜索后,我找不到可以下载原始Apache SOAP
实现的单一地方。
我可能不在乎:
A)Apache SOAP
可以让我整合一些Axis
和jars
进入独立的jsps
应用
B)一切......我的意思是到目前为止所做的一切都已经完成了
来自WAR
的例子(我正在使用的书,我的代码
到目前为止写的......一切)。
所以我想更多地思考...嘿,ApacheSOAP
必须有某种独立的库,只需要让我做一个单独的简单Java
调用并解析结果。
但不,没有这样的运气!
显然,如果你想使用SOAP
和Java
,你要么拥有巨大且难以理解的厚而复杂的轴,要么......你从头开始推出自己的肥皂实施方案。我对此很感兴趣。我不明白为什么肥皂是如此美妙,因为我花了很多时间来尝试从SOAP
获得一个简单的hello world
请求。
答案 0 :(得分:2)
像Axis
这样的库肯定是解决方案,您不想尝试自己构建/解析SOAP
消息。
使用wsdl2java
(another link和another)来创建可以调用web services
的客户端代理。这将生成一堆Java
代码,您可以从代码中调用这些代码,然后Axis
将处理您的参数打包到XML
消息中,将其通过网络发送到服务器,对反应进行反序列化等。