WebService参数标签为对象属性
发布时间
阅读量:
阅读量
在Web服务开发中使用SoapUI进行接口自动化测试时,在测试过程中需求人员希望看到参数格式的详细展示方式与现有系统保持一致

这一种排版样式,在网路上搜索后,并未发现有同类案例。于是乎制作出了一个实例,并将它分享给各位同行参考。
刚开始方法后面接收参数是用的String进行接收
@WebMethod
public String Test(@WebParam(name = "request")String param) ;
AI写代码
当我们使用SoapUI进行测试时,仅有一个在WebParam中的参数名称,并没有层级关联性;调用者也不了解我们是如何传递这些参数的及所采用的具体信息。

需要注意的是,在WebAPI文档生成器中存在一个targetNamespace属性。该属性允许指定接收参数的对象。一旦正确配置后,在使用 SoapUI 测试时会清晰地呈现层级关系。这样调用者能够轻松了解所需的参数类型和格式。
//targetNamespace 中的路径是包名反写。
public Response selectOrderType(@WebParam(name = "request" ,targetNamespace ="http://request.test.com/RequestMsg")RequestMsg param) ;
AI写代码
定义好之后就可以返回这种格式。

接收参数的类:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="OrderRequestMsgHeader", propOrder={"msgHeader","tt","tt1","tt2"
})
@XmlRootElement
public class RequestMsg {
@XmlElement(name="msgHeader", required=true)
private MsgHeader msgHeader;
@XmlElement(name="Tt", required=true)
private MsgHeader tt;
@XmlElement(name="Tt1", required=true)
private MsgHeader tt1;
@XmlElement(name="Tt2", required=true)
private MsgHeader tt2;
// get/set
}
AI写代码
MsgHeader头信息类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="msgHeader", propOrder={"test", "testMsg","PAGESIZE","CURRENT_PAGE","TOTAL_RECORD"})
@XmlRootElement
public class MsgHeader {
@XmlElement(name="test",required = true)
private String test;
@XmlElement(name="testMsg",required = true)
private String testMsg;
@XmlElement(name="PAGESIZE",required = true)
private String PAGESIZE;
@XmlElement(name="CURRENT_PAGE",required = true)
private String CURRENT_PAGE;
@XmlElement(name="TOTAL_RECORD",required = true)
private String TOTAL_RECORD;
//get/set
}
AI写代码
类上面用的标签大家都可以去了解下,这里就不过多做解释了。
全部评论 (0)
还没有任何评论哟~
