/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at opensso/legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* $Id: DSTRequestHandler.java,v 1.3 2008/06/25 05:47:14 qcheng Exp $
*
*/
/**
* The class <code>DSTRequestHandler</code> is a handler for processing
* Query or Modify Requests for any generic data service that are built
* using Liberty SIS specifications. This class includes common processing
* rules defined by Liberty DST specification, it is an extension point
* for any Liberty DST based web services.
*
* @supported.all.api
*/
/**
* Default constructor
*/
protected DSTRequestHandler() {}
/**
* Processes the request for the given personal profile service request.
* @param msg SOAP Request message
* @return Message SOAP Response Message.
* @exception SOAPFaultException if the service requires an interaction.
* @exception Exception for any generic failure.
*/
throws SOAPFaultException, Exception {
}
"SOAPBodies are null");
}
} else {
}
}
return response;
}
/**
* Processes each SOAPBody.
* @param requestBodies list of request bodies
* @return List list of response bodies.
* @exception SOAPFaultException for the interaction queries.
* @exception DSTException for any failure.
*/
throws SOAPFaultException, DSTException {
for(int i=0; i < size; i++) {
}
return responseBodies;
}
/**
* Generates the binary security token if the security profile is X509.
* @param msg Request Message.
* @return BinarySecurityToken.
* @exception DSTException.
*/
throws DSTException {
try {
return binaryToken;
} catch (Exception e) {
"SecurityToken: Error in generating binary security token.", e);
throw new DSTException(e);
}
}
/**
* @param request query or modify object.
* @param msg Request Message.
* @param response response Message.
* @return Object processed response object.
* @exception DSTException for failure.
* @exception SOAPFaultException for the interaction redirects
*/
throws SOAPFaultException, DSTException;
/**
* Gets the Resource ID given in the Query or Modify Request.
* @param resourceIDType JAXB ResourceIDType Object.
* @param providerID Provider ID.
* @param serviceType Service Type.
* @return String resource id.
*/
if(resourceIDType == null) {
"ResourceIDType is null");
}
return null;
}
if(resourceIDType instanceof ResourceIDType) {
} else if( resourceIDType instanceof EncryptedResourceIDType) {
try {
}
"ResourceID Value after decryption" + resIDStr);
}
return resIDStr;
return null;
}
} else {
"resource ID type.");
return null;
}
}
/*
* Issue to be resolved: DST Schema does not have any name space associated
* with it. These schemas are included in each service schema., so that they
* would inherit the name spaces of respective processing service.
* Hence, DST JAXBElements have to be different for each data service. This
* issue might need to escalate to the JAXB team so that we should be able
* to specify the name space at runtime.
* Till then, we will have one request handler for each data service, other
* wise resolving imports is really difficult.
*/
}