请求数据
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Request>
<Header>
<SourceSystem>221212</SourceSystem>
<MessageID>2121212</MessageID>
</Header>
<Body>
<CT_CareProvList>
<CT_CareProv>
<CTCP_DeptCode>测试单位</CTCP_DeptCode>
<CTCP_DeptHierarchyCode>23233232</CTCP_DeptHierarchyCode>
<CTCP_Email>32323@qq.com</CTCP_Email>
<CTCP_JobNumber>323233</CTCP_JobNumber>
<CTCP_Name>姓名</CTCP_Name>
<CTCP_PositionStatus>2</CTCP_PositionStatus>
<CTCP_Remarks>备注</CTCP_Remarks>
<CTCP_Telephone>1545454545</CTCP_Telephone>
</CT_CareProv>
</CT_CareProvList>
</Body>
</Request>
- 因为请求数据
xml标签为大写字母开头,每个字段都需要在javabean里进行配置
返回数据
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Response>
<body>
<resultCode>0</resultCode>
<resultContent>成功</resultContent>
</body>
<header>
<MessageID>2121212</MessageID>
<SourceSystem>221212</SourceSystem>
</header>
</Response>
Controller设置
@ResponseBody
@RequestMapping(value = "sync", method = RequestMethod.POST, produces = "application/xml;charset=utf-8")
public UserSyncResult userInfoSync(@RequestBody UserSyncParam UserSyncParam) {
String paramStr = JSONObject.toJSONString(UserSyncParam);
System.out.println(paramStr);
UserSyncResult result = new UserSyncResult();
result.setHeader(UserSyncParam.getHeader());
UserSyncResultBody resultBody = UserSyncResultBody.success();
result.setBody(resultBody);
return result;
}
- 注意设置
produces = "application/xml;charset=utf-8",否则会返回json格式数据
javaBean配置
设置xml请求体根标签
@XmlRootElement(name ="Request")
public class UserSyncParam implements Serializable {
private UserSyncHeader Header;
private UserSyncBody Body;
@XmlElement(name = "Header")
public UserSyncHeader getHeader() {
return Header;
}
public void setHeader(UserSyncHeader header) {
Header = header;
}
@XmlElement(name = "Body")
public UserSyncBody getBody() {
return Body;
}
public void setBody(UserSyncBody body) {
Body = body;
}
}
- 使用
@XmlElement标签转化请求数据,注意此注解需要加在get方法上
public class UserSyncHeader implements Serializable {
private String SourceSystem;
private String MessageID;
@XmlElement(name = "SourceSystem")
public String getSourceSystem() {
return SourceSystem;
}
public void setSourceSystem(String sourceSystem) {
SourceSystem = sourceSystem;
}
@XmlElement(name = "MessageID")
public String getMessageID() {
return MessageID;
}
public void setMessageID(String messageID) {
MessageID = messageID;
}
}
- 使用
@XmlElement标签转化请求数据,其他类同理
接收list数据
public class UserSyncBody implements Serializable {
private List<UserSync> CT_CareProvList;
@XmlElementWrapper(name = "CT_CareProvList")
@XmlElements(
@XmlElement(name = "CT_CareProv")
)
public List<UserSync> getCT_CareProvList() {
return CT_CareProvList;
}
public void setCT_CareProvList(List<UserSync> CT_CareProvList) {
this.CT_CareProvList = CT_CareProvList;
}
}
- 使用
@XmlElementWrapper和@XmlElements转化请求数据