try
{
if(this.principal == null)
this.principal = this.getController().getPrincipal();
final DynamicWebservice ws = new DynamicWebservice(principal);
ws.setTargetEndpointAddress(targetEndpointAddress);
ws.setOperationName(operationName);
ws.setReturnType(StatusBean.class, new QName("infoglue", "StatusBean"));
ws.setReturnType(CreatedEntityBean.class, new QName("infoglue", "CreatedEntityBean"));
Map userMap = new HashMap();
if(this.systemUserVO.getFirstName() != null)
userMap.put("firstName", this.systemUserVO.getFirstName());
if(this.systemUserVO.getLastName() != null)
userMap.put("lastName", this.systemUserVO.getLastName());
if(this.systemUserVO.getEmail() != null)
userMap.put("email", this.systemUserVO.getEmail());
if(this.systemUserVO.getUserName() != null)
userMap.put("userName", this.systemUserVO.getUserName());
else
userMap.put("userName", getController().getPrincipal().getName());
if(this.systemUserVO.getPassword() != null)
userMap.put("password", this.systemUserVO.getPassword());
if(oldPassword != null)
userMap.put("oldPassword", this.oldPassword);
userMap.put("isPasswordChangeOperation", isPasswordChangeOperation);
userMap.put("isPasswordResetOperation", isPasswordResetOperation);
List users = new ArrayList();
users.add(userMap);
ws.addArgument("users", users);
ws.addNonSerializedArgument("roleNames", new ArrayList(Arrays.asList(this.roleNames)));
ws.addNonSerializedArgument("groupNames", new ArrayList(Arrays.asList(this.groupNames)));
ws.callService();
setResultAttribute(ws.getResult());
}
catch(Exception e)
{
e.printStackTrace();
throw new JspTagException(e.getMessage());