Implement the RegistrationValidator interface. For example, see the following for the DefaultRegistrationValidator class implementation:
package com.sun.portal.wsrp.producer.registration.validator.impl;
import com.sun.portal.wsrp.common.stubs.MissingParametersFault;
import com.sun.portal.wsrp.common.stubs.RegistrationData;
import com.sun.portal.wsrp.common.stubs.ServiceDescription;
import com.sun.portal.wsrp.common.stubs.OperationFailedFault;
import com.sun.portal.wsrp.common.stubs.ModelDescription;
import com.sun.portal.wsrp.common.stubs.PropertyDescription;
import com.sun.portal.wsrp.common.stubs.Property;
import com.sun.portal.wsrp.producer.registration.validator.RegistrationValidator;
import com.iplanet.am.util.Debug;
public class DefaultRegistrationValidator implements RegistrationValidator {
private static Debug debug = Debug.getInstance("wsrp.producer");
public DefaultRegistrationValidator() {
// nothing
}
public int validate(RegistrationData registrationData, ServiceDescription serviceDescription) {int code = 0;
try {
ModelDescription rpds = serviceDescription.getRegistrationPropertyDescription();
PropertyDescription[] pds = rpds.getPropertyDescriptions();
Property[] rps = registrationData.getRegistrationProperties();
for (int i = 0; pds == null || i < pds.length; i++) {
String name = pds[i].getName();
String value = getPropertyValue(rps, name);
if (value == null || value.trim().length() == 0) {
code = -1;
break;
}
}
} catch (Throwable t) {
t.printStackTrace(System.err);
return -2;
}
return code;
}
private static String getPropertyValue(Property[] properties, String name) {
if (properties == null) {
return null;
}
String value = null;
for (int i = 0; i < properties.length; i++) {
if (properties[i].getName().equals(name)) {
value = properties[i].getStringValue();
break;
}
}
return value;
}
}
|
Compile the class file. To compile, type:
javac -classpath PortalServer-base/sdk/wsrp/wsrpsdk.jar:/AccessManager-base/lib/am_sdk.jar RegistrationValidatorImplementation.java |
When compiling the class file, include the Access Manager SDK JAR file (AccessManager-base/lib/am_sdk.jar) as it includes the debug class.