Я пытаюсь отправить массив строк в объекте ответа. Все кажется идеальным, но единственная проблема в том, что в ответе у массива есть родительский тег. Родительский тег имеет имя, которое я дал для массива строк в объекте ответа, а дочерний - с тем же именем. Как я могу удалить этот родительский тег или переименовать родительский тег в ответе.
Мой интерфейс такой
@WebService
@SOAPBinding(style = Style.RPC)
public interface VAECorpService {
@WebMethod
CommissionProfileResponse commissionProfile(@WebParam(name = "commissionProfile")CommissionProfileRequest commissionProfileReq);
}
Мой класс ответа
public class CommissionProfileResponse {
private String statusCode;
private String statusDes;
private String[] commissionProfileId;
public String getStatusCode() {
return statusCode;
}
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
public String getStatusDes() {
return statusDes;
}
public void setStatusDes(String statusDes) {
this.statusDes = statusDes;
}
public String[] getCommissionProfileId() {
return commissionProfileId;
}
public void setCommissionProfileId(String[] commissionProfileId) {
this.commissionProfileId = commissionProfileId;
}
}
** Это мой сервис Impl **
@Override
public CommissionProfileResponse commissionProfile(CommissionProfileRequest commissionProfileReq) {
CommissionProfileResponse commissionProfileResp=new CommissionProfileResponse();
VAECorpDao vaECorpDao = DAOFactory.getVAECorpDao();
StringWriter sw = new StringWriter();
try{
List<String>lstCommissionProf=vaECorpDao.getAllCommissionProfile(commissionProfileReq.getProductId());
String [] array=new String[lstCommissionProf.size()];
for (int i=0;i< lstCommissionProf.size();i++) {
array[i]=lstCommissionProf.get(i);
}
if(lstCommissionProf.size()>0){
commissionProfileResp.setStatusCode("I000000");
commissionProfileResp.setStatusDes("Success : Commission profile fetched successfully");
commissionProfileResp.setCommissionProfileId(array);
}
else{
commissionProfileResp.setStatusCode("I000000");
commissionProfileResp.setStatusDes("Success : No commission found");
commissionProfileResp.setCommissionProfileId(array);
}
}
catch(Exception e){
logger.info("commissionProfile VA-F0003");
logger.info("Fail : "+e.getMessage());
commissionProfileResp.setStatusCode("VA-F0003");
commissionProfileResp.setStatusDes("Fail : "+e.getMessage());
}
return commissionProfileResp;
}
Теперь я получаю ответ, подобный этому
**<commissionProfileResponse xmlns="http://service.va.alfaris.com">
<commissionProfileReturn>
<commissionProfileId>
<commissionProfileId>112233</commissionProfileId>
</commissionProfileId>
<statusCode>I000000</statusCode>
<statusDes>Success : Commission profile fetched successfully</statusDes>
</commissionProfileReturn>
</commissionProfileResponse>**
Я хочу такой ответ
**<commissionProfileResponse xmlns="http://service.va.alfaris.com">
<commissionProfileReturn>
<commissionProfileId>112233</commissionProfileId>
<statusCode>I000000</statusCode>
<statusDes>Success : Commission profile fetched successfully</statusDes>
</commissionProfileReturn>
</commissionProfileResponse>**
и я хочу изменить имя тега, если это возможно, как запрос, так и ответ. Я уже пробовал с @XMLELEMENT, но он не отражает