Producers often offer several levels of service depending on consumers' subscription levels (for example). This is implemented at the WSRP level with the registration concept: producers can assert which level of service to provide to consumers based on the values of given registration properties.
There might also be cases where you just want to update the registration information because it has changed. For example, the producer required you to provide a valid email and the previously email address is not valid anymore and needs to be updated.
It is therefore sometimes necessary to modify the registration that concretizes the service agreement between a consumer and a producer. Let's take the example of the producer requiring an email you configured in Section 18.104.22.168, “Using the configuration portlet”. If you recall, the producer was requiring registration and required a value to be provided for the email property.
Suppose that you want to update the email address that you provided to the remote producer. To do so, you need to tell the producer that our registration data have been modified. Let's see how to do this. In case that you want to configure access to the producer as previously described, please go to the configuration screen for the self producer and modify the value of email to firstname.lastname@example.org instead of email@example.com:
Now, click "Update properties" to save the change. A "Modify registration" button should now appear to let you send the new data to the remote producer:
Click this new button and, if everything went well and your updated registration has been accepted by the remote producer, you should see something similar to:
It can also happen that a producer administrator decided to change its requirement for registered
consumers. In this case, invoking operations on the producer will be failed with an
OperationFailedFault. GateIn will attempt to help you in this
situation. Let's walk through an example using the
producer. Let's assume that
registration is requiring a valid value for an
registration property (as we have seen so far). If you go to the configuration screen for this producer,
you should see:
Now suppose that the administrator of the producer also requires a value to be provided for a name registration property. We will actually see how to perform this operation in GateIn when we examine how to configure GateIn's producer in Section 5.7, “Configuring GateIn's WSRP producer”. Operations with this producer will now be failed. If you suspect that a registration modification is required, you should go to the configuration screen for this remote producer and refresh the information held by the consumer by pressing "Refresh & Save":
As you can see, the configuration screen now shows the currently held registration information and the expected information from the producer. Enter a value for the name property and then click "Modify registration". If all went on well and the producer accepted your new registration data, you should see something similar to:
As of WSRP 1, it is rather difficult to ascertain what caused an
as it is the generic exception returned by
producers if something did not quite happen as expected during a method invocation. This means that
can be caused by several different reasons, one
of them being a request to modify the registration data. Please take a look at the log files to see
if you can gather more information as to what happened. WSRP 2 introduces an exception that is
specific to a request to modify registrations, thus reducing the ambiguity that currently exists.