我不确定确切的面额,但我有一个“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的具体实现?)
谢谢!
答案 0 :(得分:0)
最简单(但最耗费人力)的方法是打开HttpURLConnection
。你可以致电URL.openConnection()
来做到这一点。 URL
对象显然会基于您提到的网址,可选择附加参数Nopers
,SearchMode
和Name
。然后,您可以呼叫getInputStream()
以访问呼叫的响应。接下来将解析XML以解释结果。
然而,如上所述,这需要大量的低级代码(特别是在读取输入,解析XML等时)。考虑使用类似Apache HttpComponents的内容进行与HTTP相关的工作,并结合类似JAXB的内容,以便将检索到的XML轻松转换为普通的旧Java对象。
使用JAXB可能需要您拥有XML架构。在理想情况下,它已经存在(由编写ASP服务的人编写)。在次理想的情况下,你必须自己推导它。