Hi All,
I need to delete a bunch of users from Content Server and I have written code for it. I am able to delete a user if I pass single id in delete method of member class. However when I try to fetch multiple id's using getid with a for loop it gives an error--> OTDS error.
Below is my Authentication code in the main method and the Delete User Method :
Authentication code:
testAuth authobj;
String USERNAME = "Admin";
String PASSWORD = "test";
String authToken = null;
try
{
AuthenticationService authService = new AuthenticationService();
Authentication authClient = authService.getAuthenticationPort();
System.out.print("Authenticating User...");
try {
authToken = authClient.authenticate(USERNAME, PASSWORD);
} catch (AuthenticationException_Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("SUCCESS!\n");
}
catch (SOAPFaultException e)
{
System.out.println("FAILED!\n");
System.out.println(e.getFault().getFaultCode() + " : " + e.getMessage());
return;
}
MemberService_Service mservice = new MemberService_Service();
MemberService m = mservice.getBasicHttpBindingMemberService();
try{
final String ECM_API_NAMESPACE = "urn:api.ecm.opentext.com";
OTAuthentication otAuth = new OTAuthentication();
otAuth.setAuthenticationToken(authToken);
System.out.println(otAuth);
SOAPHeader header = MessageFactory.newInstance().createMessage().getSOAPPart().getEnvelope().getHeader();
SOAPHeaderElement otAuthElement = header.addHeaderElement(new QName(ECM_API_NAMESPACE, "OTAuthentication")); docManClient and memberclient
SOAPElement authTokenElement = otAuthElement.addChildElement(new QName(ECM_API_NAMESPACE, "AuthenticationToken"));
authTokenElement.addTextNode(otAuth.getAuthenticationToken());
((WSBindingProvider) m).setOutboundHeaders(com.sun.xml.ws.api.message.Headers.create(otAuthElement));
authobj = new testAuth();
authobj.deleteusersfromcs(m);
Authentication runs fine and error is thrown in deleteusers method :
public void deleteusersfromcs(MemberService m ){
List<Integer>userlistintnew = new ArrayList<Integer>();
testAuth tAuth = new testAuth();
List<String> Userlistfromfile = tAuth2.getusersfromfile();--> I get complete list of Users here
List<Integer> userlistint = new ArrayList<Integer>();
//m.deleteMember(718498);
for(String s : Userlistfromfile)
{
int id = m.getUserByLoginName(s).getID();--> I get id of the first member from here but when loop moves on to next id in the list it throws OTDS error(shown below)
System.out.println(id);
userlistint.add(id);
}
userlistintnew = tAuth.adduserstolist(m);
m.deleteListOfMembers(userlistintnew);
}
Error I am getting :
Authenticating User...SUCCESS!
userid name is test
userid name is test2
717278
javax.xml.ws.soap.SOAPFaultException: OTDS Error
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at com.sun.proxy.$Proxy36.getUserByLoginName(Unknown Source)
at testContentnew.testAuth.adduserstolist(testAuth.java:88)
at testContentnew.testAuth.deleteusersfromcs(testAuth.java:101)
at testContentnew.testAuth.main(testAuth.java:216)
Please suggest