Recently I set up the services registry for PI 7.1 EHP1 for a client of ours. Although it seemed like it would be a simple process, I ran into a 401 authorization issue and another issue where web services were not publishing to the services registry. Looking online there are a lot of people who ran into the same issues as I did, so I am providing, here, the steps to perform if your services registry isn’t working.
Please note that I was unable to find the wizard for setting it the Services registry in PI 7.1 EPH1, which means I did it manually.
Make sure everything is correct in the Services Registry Management
Go to the NWA (http://host:port/nwa).
Go to SOA Management> Technical Configuration>Services Registry Management.
In theory, there is nothing to do here, however I did specify the discovery URL api parameter as the hostname of the server (no port). If you have changed some settings, on the maintenance tab you can click reinitialize, which should reset any changes you have made back to the initial state.
Configure the ServicesRegistrySiPort
Go to SOA Management> Application and Scenario Communication> Single Service Administration
Click the Consumer Proxies tab.
Search for “ServicesRegistrySi”.
Click on the result and click the Configuration Tab and click on ServicesRegistrySiPort.
The service endpoint name should be ServicesRegistrySiPort. Don’t change it.
You have to give it an http authentication. If you don’t give the authentication, you will eventually have problems like not being able to publish to the SR, even though you may be able to access the registry.
Click on the user ID/ password, click details, and input your http authentication parameters.
Configure the third party UDDI (Only if not using SAP’s UDDI)
If you are using a non-sap UDDI, you will need to go to NWA>Destination Template Management and create a UDDI_DESTINATION and a CLASSIFICATION_DESTINATION to point to the respective urls of your uddi. Don’t forget to click security and select User ID/Password Authentication for both destinations. Otherwise, you will get a 401 not authorized error when you try to access the services registry–similar to if you mistyped your password at ServicesRegistrySiPort.
Make sure that your user has UDDI_TierN and SERVICES_REGISTRY_READ_WRITE authorizations or you will get a 401 not authorized error. Of course. in your system you should use a technical user instead of your userid as which I did for the purposes of this blog.
Please note, I did run into an issue where it suddenly stopped working a day everything was configured. All I can say is Gremlins. I switched the user to a technical user with the authorization listed above on the ServicesRegistrySiPort as well as on the destination templates and I haven’t had a problem since.