Как переименовать родительский тег строкового массива в ответе мыльного веб-сервиса, используя Java - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь отправить массив строк в объекте ответа. Все кажется идеальным, но единственная проблема в том, что в ответе у массива есть родительский тег. Родительский тег имеет имя, которое я дал для массива строк в объекте ответа, а дочерний - с тем же именем. Как я могу удалить этот родительский тег или переименовать родительский тег в ответе.

Мой интерфейс такой

@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, но он не отражает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...