class RAWvernaActivity extends AbstractAsynchronousActivity<RAWvernaActivityConfigurationBean> implements
    AsynchronousActivity<RAWvernaActivityConfigurationBean> {

    @Override
    public void configure(RAWvernaActivityConfigurationBean configBean) throws ActivityConfigurationException {

        // Any pre-config sanity checks
        if (configBean.getExampleString().equals("invalidExample")) {
            throw new ActivityConfigurationException("Example string can't be 'invalidExample'");
        }
        // Store for getConfiguration(), but you could also make
        // getConfiguration() return a new bean from other sources
        this.configBean = configBean;

        // OPTIONAL:
        // Do any server-side lookups and configuration, like resolving WSDLs

        // myClient = new MyClient(configBean.getExampleUri());
        // this.service = myClient.getService(configBean.getExampleString());

        // REQUIRED: (Re)create input/output ports depending on configuration
        configurePorts();
    }

}