/** * execute the call and return the results. If there is a problem calling the service, an * exception will be thrown * * @return the results */ public WsMemberChangeSubjectResults execute() { this.validate(); WsMemberChangeSubjectResults wsMemberChangeSubjectResults = null; try { // Make the body of the request, in this case with beans and marshaling, but you can make // your request document in whatever language or way you want WsRestMemberChangeSubjectRequest memberChangeSubject = new WsRestMemberChangeSubjectRequest(); memberChangeSubject.setActAsSubjectLookup(this.actAsSubject); WsMemberChangeSubject wsMemberChangeSubject = new WsMemberChangeSubject(); if (this.deleteOldMember != null) { wsMemberChangeSubject.setDeleteOldMember(this.deleteOldMember ? "T" : "F"); } wsMemberChangeSubject.setOldSubjectLookup(this.oldSubjectLookup); wsMemberChangeSubject.setNewSubjectLookup(this.newSubjectLookup); memberChangeSubject.setWsMemberChangeSubjects( new WsMemberChangeSubject[] {wsMemberChangeSubject}); memberChangeSubject.setTxType(this.txType == null ? null : this.txType.name()); if (this.includeSubjectDetail != null) { memberChangeSubject.setIncludeSubjectDetail(this.includeSubjectDetail ? "T" : "F"); } if (this.subjectAttributeNames.size() > 0) { memberChangeSubject.setSubjectAttributeNames( GrouperClientUtils.toArray(this.subjectAttributeNames, String.class)); } // add params if there are any if (this.params.size() > 0) { memberChangeSubject.setParams(GrouperClientUtils.toArray(this.params, WsParam.class)); } GrouperClientWs grouperClientWs = new GrouperClientWs(); // kick off the web service wsMemberChangeSubjectResults = (WsMemberChangeSubjectResults) grouperClientWs.executeService( "members", memberChangeSubject, "memberChangeSubject", this.clientVersion, false); String resultMessage = wsMemberChangeSubjectResults.getResultMetadata().getResultMessage(); grouperClientWs.handleFailure( wsMemberChangeSubjectResults, wsMemberChangeSubjectResults.getResults(), resultMessage); } catch (Exception e) { GrouperClientUtils.convertToRuntimeException(e); } return wsMemberChangeSubjectResults; }