第一次使用POST形式传JSON字符串,怎么都调不到后台方法,只是因为注解没加对……
CXF的WebService接口类
package com.zit.webservice.main;import javax.jws.WebService;import javax.ws.rs.Consumes;import javax.ws.rs.POST;import javax.ws.rs.Path;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.ResponseBody;@WebService@Path("/microRfidPassRecordCxf")public interface RfidPassRecordCxf { /** * 根据queryParam查询参数查询射频识别记录信息,请求参数自动转化为JSON串描述 * @param queryParam */ @POST @Consumes(MediaType.APPLICATION_JSON)//输入JSON @Produces(MediaType.APPLICATION_JSON)//输出JSON @Path("/queryRfidRecordByQueryParam") @ResponseBody String queryRfidRecordService(@RequestBody String queryParam); }
传入的JSON是String字符串,放在body传进来,所以入参添加@RequestBody 注解,
返回JSON串添加@ResponseBody 注解
soapUI测试
在soapUI界面new rest project
1、修改为post形式
2、填写发布的WebService地址和要调用的方法路径
3、填写要传进来的JSON串
4、查看返回的结果