第一次使用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、查看返回的结果