如何使用axis2在java soap web服务中将数组作为方法参数传递

时间:2016-06-03 06:22:06

标签: java soap

这里我附加了我的java pojo类,其中包含一些字段,包括hashMap 公共类TerritoryRestObject {

private int territoryId; 
private String name;             //Unique Name
private String parentName; // it is not in db col it is just for service convention
private String territoryType; 
private String nameShort; 
private String nameAlias; 
private int parentId;           
private Date lastModDate;    
private String lastModUser;
private HashMap<String, String> udfMap;

} 这里我附加了我的服务添加操作与两个参数

public ResultObject addOperation(TerritoryRestObject pojoObj,String params [],AuthenticationObject authObj){

    logger.debug("Begin addOperation");

    String statusMsg = "";
    ResultObject resultobject = new ResultObject();


    if(pojoObj == null){
        statusMsg  +=  "Error: invalid input data";
        resultobject.setPojoObject(pojoObj);
        resultobject.setStatusCode(false);
        resultobject.setStatusMsg(statusMsg);
        logger.error(statusMsg);    
        return resultobject;
    }

    //Declare instantiate reference variables here
    AuthenticateService authService = null;
    AppSessionObject currSession = null;
    TerritoryService service = null;

    try {

        authService = new AuthenticateService();
        if (authService.authenticate(authObj) == false) {
            statusMsg  +=  authService.getErrorMsg();
            resultobject.setPojoObject(pojoObj);
            resultobject.setStatusCode(false);
            resultobject.setStatusMsg(statusMsg);
            logger.error(statusMsg);
            return resultobject;
        }


        currSession = new AppSessionObject(authObj.getUserName(), authObj.getCatalog());

        pojoObj.setTerritoryId(0);

        service = new TerritoryServiceImpl();

        TerritoryObject pojoRestObj = new TerritoryObject(pojoObj.getTerritoryId(), pojoObj.getName(), pojoObj.getParentName(), pojoObj.getTerritoryType(),
                pojoObj.getNameShort(), pojoObj.getNameAlias(), pojoObj.getParentId(),pojoObj.getLastModDate(), pojoObj.getLastModUser());

        if (service.addOperation(pojoRestObj,pojoObj.getUdfMap(),currSession) == false) {
            statusMsg  +=  service.getErrorMsg();
            logger.error(statusMsg);
            resultobject.setPojoObject(pojoObj);
            resultobject.setStatusCode(false);
            resultobject.setStatusMsg(statusMsg);
            return resultobject;
        }


        logger.debug(WebServiceEnum.GateWayEnum.WSOOO1);

        statusMsg = WebServiceEnum.GateWayEnum.WSOOO1;
        resultobject.setPojoObject(pojoObj);
        resultobject.setStatusCode(true);
        resultobject.setStatusMsg(statusMsg);

    }catch(Exception ex) {
        ex.printStackTrace();
        statusMsg += "Error Exception: " + ex.getMessage();
        logger.error(statusMsg);
        resultobject.setPojoObject(pojoObj);
        resultobject.setStatusCode(false);
        resultobject.setStatusMsg(statusMsg);
        return resultobject ;
    }
    finally{

        logger.debug("Finally CleaningUp dynamic memory");

        if (authService != null) 
            authService = null;

        if (currSession != null) 
            currSession = null;

        if (service != null) 
            service = null;
    }

    logger.debug("End addOperation");

    return resultobject;

}

0 个答案:

没有答案
相关问题