Content Server 16.2.3, Java code where WCS
String USERNAME = "Admin";
String PASSWORD = "livelink";
String ECM_API_NAMESPACE = "urn:api.ecm.opentext.com";
String CORE_NAMESPACE = "urn:Core.service.livelink.opentext.com";
Authentication_Service authService = new Authentication_Service();
Authentication authClient = authService.getBasicHttpBindingAuthentication();
// Store the authentication token
String authToken = null;
// Call the AuthenticateUser() method to get an authentication token
try
{
System.out.print("Authenticating User...");
authToken = authClient.authenticateUser(USERNAME, PASSWORD);
System.out.println("SUCCESS!\n");
}
catch (SOAPFaultException e)
{
System.out.println("FAILED!\n");
System.out.println(e.getFault().getFaultCode() + " : " + e.getMessage());
return;
}
// --------------------------------------------------------------------------
// 2) Store the metadata for the download in a method context on the server
// --------------------------------------------------------------------------
// Create the DocumentManagement service client
SearchService_Service searchService = new SearchService_Service();
SearchService searchClient = searchService.getBasicHttpBindingSearchService();
// Create the OTAuthentication object and set the authentication token
OTAuthentication otAuth = new OTAuthentication();
otAuth.setAuthenticationToken(authToken);
// We need to manually set the SOAP header to include the authentication token
try
{
// Create a SOAP header
SOAPHeader header = MessageFactory.newInstance().createMessage().getSOAPPart().getEnvelope().getHeader();
// Add the OTAuthentication SOAP header element
SOAPHeaderElement otAuthElement = header.addHeaderElement(new QName(ECM_API_NAMESPACE, "OTAuthentication"));
// Add the AuthenticationToken SOAP element
SOAPElement authTokenElement = otAuthElement.addChildElement(new QName(ECM_API_NAMESPACE, "AuthenticationToken"));
authTokenElement.addTextNode(otAuth.getAuthenticationToken());
// Set the header on the binding provider
((WSBindingProvider) searchClient).setOutboundHeaders(Headers.create(otAuthElement));
}
catch (SOAPException e)
{
System.out.println("Failed to set authentication SOAP header!\n");
System.out.println(e.getMessage());
return;
}
List<String> dataCollections;
try
{
dataCollections = searchClient.getDataCollections();//return error on this line
if (dataCollections != null)
{
for (String dc : dataCollections)
{
System.out.println("dataCollections:"+dc);
}
}
}
catch (Exception e)
{
e.printStackTrace();
return;
}
error message:
com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: javax.xml.ws.soap.SOAPFaultException Please see the server log to find more detail regarding exact cause of the failure.
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:116)
at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
at com.sun.proxy.$Proxy33.getDataCollections(Unknown Source)
at com.opentext.cws.samples.SearchSample.main(SearchSample.java:143)
Thanks.