使用Java(没有WSDL)使用“asp服务”

时间:2013-07-11 10:04:40

标签: java asp.net xml web-services

我不确定确切的面额,但我有一个“web asp服务”(来自.NET应用程序)给我一个XML文件。 (没有WSDL ......)

例如,我可以使用以下URL来质疑Web服务:

http://Connectiquetest:86/Vaudoise/srv_db/db2_personnes.asp?Nopers=529720&SearchMode=1&Name=Smith

其中Nopers = 52920,SearchMode = 1和Name = Smith用于向我返回我想要的响应。 (该URL用于内部系统,如果没有VPN,则无法访问它)

内容类型返回:“text / xml”(这是一个经典的格式良好的XML)。

那么,我如何使用这些信息从Java应用程序调用以接收XML?任何人都可以告诉我它究竟是什么(可能是SOAP的具体实现?)

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单(但最耗费人力)的方法是打开HttpURLConnection。你可以致电URL.openConnection()来做到这一点。 URL对象显然会基于您提到的网址,可选择附加参数NopersSearchModeName。然后,您可以呼叫getInputStream()以访问呼叫的响应。接下来将解析XML以解释结果。

然而,如上所述,这需要大量的低级代码(特别是在读取输入,解析XML等时)。考虑使用类似Apache HttpComponents的内容进行与HTTP相关的工作,并结合类似JAXB的内容,以便将检索到的XML轻松转换为普通的旧Java对象。

使用JAXB可能需要您拥有XML架构。在理想情况下,它已经存在(由编写ASP服务的人编写)。在次理想的情况下,你必须自己推导它。