Spring Boot使用HuTool HTTP调用.Net Webservice
最近在做自助机,有个需求就是刷过磅卡获取车辆的过磅信息,那么就需要设备厂家提供接口,厂家那边是基于.net平台,他们为了自己方便,就只能提供WebService接口,那就没办法了,只能委屈自己。
我们先用浏览器直接访问一下WebService的接口,查看一下接口的相关信息,这个接口是采用的HTTP Authorization Basic Auth方式来保证接口安全的。
输入对应的用户名和密码就可以成功的访问到接口了
这里,我们能看到对应的报文,那么我们就用postman
来试试效果,我们先设置一下postman
里面的Authorization
然后把报文复制到Body
里面,然后直接点击Send
,我以为会看到想要的结果,然而
其实这主要是Content-Type
,我们去把postman
生成的Content-Type
改为text/xml
即可
此时,我们来仔细看看我们的Headers
里面的信息
可以看到Authorization
这个信息,它里面的值是我们在前面设置Basic Auth
的时候自动生成的,它的生成规则是Basic base64encode(username+":"+password)
。既然postman
能够调通了,那么我们就可以用程序直接调用了。
这里我用的HuTool
的HTTP请求库,
1 | private String buildXmlParams(String idCard, String orgId) { |
使用HttpRequest
发起请求,会收到返回的xml
字符串,这里我们可以用HuTool
提供的工具类来吧xml
转为Map
1 | Map<String, Object> result = new HashMap<>(); |
剩下的如何操作就随意了。最近的工作量尤其庞大,又要开始做自助机了,C端准备用WPF
,没办法,只得现学现做,硬着头皮上啊。
Spring Boot使用HuTool HTTP调用.Net Webservice