In this Wiki page it is going to be presented why during the setup of or troubleshooting of a Federated Portal Network (FPN) the consumer portal fails on fetching the WSDL file but when typing the WSDL URL to your web browser the WSDL file is successfully retrieved.
The SAP Note 1398273 contains the basic steps for troubleshooting FPN issues. In addition to that note we can perform the Connection Tests where are verified some basic settings needed for the FPN. Sometimes, while performing the Producer Connection test, the following error displayed: “Could not retrieve the WSDL file; the handshake URL may not exist or may be invalid” but when accessing the WSDL file generator URL with the browser the file can be fetched successfully.
When setting up or troubleshooting a FPN it is always good to perform the Connection Tests available on the Producer Object on the Consumer Portal. The Connection Tests check the connection between the consumer and producer portals. In some Portal releases there are specific tests for Remote Role Assignment (RRA) and Remote Delta Link (RDL).
The Producer Connection test tests the connection between the consumer and producer portals. This test consists of three checks: Checks if a producer object exists for the producer; Tries to open a connection to the handshake URL and tried to receive the WSDL file; and after fetching the WSDL file it tries to parse it to extract the different port URLs.
Sometimes when trying to set up the FPN or troubleshooting a FPN issue you get the error: “Could not retrieve the WSDL file; the handshake URL may not exist or may be invalid”. See image below.
The first test that is generally made in this situation is to get the WSDL file generator URL, type it on the browser address bar, end navigate to it. If there is a problem with the WSDL file generator, with the Producer portal, with the connection to the producer portal or with the WSDL file itself you will not be able to fetch it with your browser, but sometimes you will be able to get the WSDL file. See image below.
Testing the WSDL file generator URL
When the retrieving of the WSDL file fails on the Producer Connection test but you are able to get it with your web browser this may indicate that the connection from the browser to the producer is working and a problem in the connection between your consumer and producer portal exists.
In order to confirm a connection problem between the consumer and producer please perform the test below:
- Build the WSDL file URL;
- As a portal administrator, go to: System Administration -> Federated Portal;
- On detailed navigation expand Myself as Content Consumer -> Manage My Producer;
- Browse the folder NetWeaver Content Producer for the desired Producer system object and open it;
- You will be able to see all the necessary data to build de following URL: <protocol>://<Host Name>:<port> <Path to WSDL Definition File>
It will look like this:
- Create an URL iView using the WSDL file URL;
ATTENTION, in order to test the connection between portals the iView property "Fetch Mode" must be set to "server side".
- Run the iView;
If the WSDL file is not displayed then we could confirm the connection problem between the consumer and producer portals.
What to do if a connection problem is detected?
Bellow you will see some troubleshooting steps that can be followed.
The first thing that should be checked is the defaultTrace file, the chances are that an exception is logged telling us what happened when the consumer tried to connect to the producer portal. Pay attention to the time you performed the test and look for defaultTrace entries near it (Remember that the time on defaultTrace file is logged in milliseconds and is does take into account your time zone).
One example of exception that you might find is the following:
Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://<Portal_Host>/irj/servlet/prt/portal/prtroot/com.sap.portal.wsrp.coreproducer.WsdlGenerator
In this case the user was facing a known issue that occurs with FPN and SPNEGO. In order to register the producer portal the user had to disable to SANEGO before registering the producer portal and enable it when the registration was completed.
Another example of exception that could cause this behavior is an SSLException (most common when using https between the portals) that could be caused by a problem in SAPCryptoLib and that can be solved by updating it (the SAPCryptoLib).
The next tests that can be made are to check the network environment in which the portals are place and try to identify which component is the responsible. For example, the connection could be being blocked by a miss configured web-dispatcher, load balancer or missing or faulty proxy configuration of the http service in the portal. In this situation try to remove the points of failure in order to identify which component is responsible.
SAP Note 1398273 - Federated Portal Network (FPN) - Specific Component Note