This chapter provides an overview of the PeopleSoft implementation of the WSDL (Web Services Description Language) specification for the set of SOAP (Simple Object Access Protocol) transactions exposed for component interfaces, and covers:
Setting up Integration Broker.
Creating the third-party message node.
Adding security to PeopleSoft objects.
Note. This chapter assumes that you are familiar with web architecture concepts, XML, web services, WSDL, and SOAP.
See Also
http://www.w3.org/TR/wsdl12-bindings
SOAP is a simple protocol used for exchanging structured information in a distributed network. WSDL defines the XML grammar for describing network services as collections of communication endpoints capable of exchanging messages.
WSDL service definitions provide documentation for distributed systems and serve as a model for automating the processes involved in applications communication.
You can use both of these technologies with component interfaces.
Note. If a component interface has no authorized methods, WSDL will not be generated for it.
To set up Integration Broker for use with WSDL and component interfaces, you’ll need to do the following:
Ensure that the SOAPTOCI message is active.
Verify the Message Channel.
Modify gateway properties.
Configure the local gateway.
To check that the message is active:
Open PeopleSoft Application Designer.
Select File, Open.
In the Definition field, select Message and enter SOAPTOCI for the Name.
Click Open.
Select File, Definition Properties, select the Use tab, and make sure that the Status Active check box is selected.
To verify that IB_CHNL is running:
Open the PeopleSoft Application Designer.
Select File, Open.
Select Message Channel from the Definition field.
Enter IB_CHNL for the name and click OK.
Select File, Definition Properties.
Check that Message Channel Status is set to Run on the Use tab.
You must configure the properties used by the gateway to connect to the application server. To do this, you must have a valid PeopleSoft user ID and password.
Each PeopleSoft environment that uses WSDL binding for the component interface must have its own Integration Broker running. Enter the following local default server information in this file.
See Managing Integration Gateways.
Configuring the Local Gateway
To modify the local gateway properties:
Open the PeopleSoft Internet Architecture.
Select PeopleTools, Integration Broker, Configuration, Gateways.
Open the Gateway ID named LOCAL.
Enter the gateway URL: http://machinename:port/PSIGW/PeopleSoftListeningConnector.
In this case, machinename:port is the machine name and port, host name, or IP address of the web server hosting the gateway. You need to enter a port number for a machine only if the machine is listening on a port other than 9000.
Note. The URL is case-sensitive.
Click Save.
Click Load to load the connector information.
Click OK.
Editing the Gateway Properties File
To access the Gateway Properties page, click the Gateway Setup Properties link on the Gateways page and enter or change the password to sign on to the
See Accessing the integrationGateway.properties File.
On the PeopleSoft Node Configuration page, click the link to access the Advanced Properties page.
Edit the lines for ig.isc.*
Set server URL. |
|
Set user ID. |
|
Set user ID password. Make sure to use the encrypted value of the password. |
|
Set Tools release. |
For example,
ig.isc.serverURL=//MYSERVER:9000 ig.isc.userid=PTDMO ig.isc.password= SQmYC3cuW0= ig.isc.toolsRel=8.46
Click OK.
See Using the integrationGateway.properties File.
The third-party message node represents the system that will be making the SOAP requests to PeopleSoft.
To create a third-party message node:
Open the PeopleSoft Internet Architecture.
Select PeopleTools, Integration Broker, Node Definitions.
Select Add New Value.
Enter a Node Name
Click Add
Enter node information on the Node Info page.
See Configuring Nodes.
Click Save.
Select the Transactions tab.
Click Add Transactions.
Enter the following information:
Select Inbound Synchronous. |
|
Select SOAPTOCI. |
|
Select VERSION_1. |
Click Add.
Select the Messages tab.
Enter the following in the Response Message group box:
Name |
Set to SOAPTOCI. |
Version |
Set to VERSION_1. |
Click Save.
This section covers:
Adding security to a component interface.
Adding security for SOAPTOCI web library.
Adding security access for WSDL discovery.
Adding Security to a Component Interface
Make sure to check the following items:
Verify that the component interface you are using is listed; if not, add it.
Verify that the method access is set appropriately.
Method access should be set according to user requirements of a particular permission list.
Note. PeopleTools does not support custom methods for WSDL generation.
See Setting Up Permission Lists.
Adding Security for SOAPTOCI Web Library
To verify permissions for SOAPTOCI web library:
Select PeopleTools, Security, Permission Lists, and select the appropriate permission list.
Select Web Libraries, and verify that WEBLIB_SOAPTOCI web library is listed; if not, add it.
Verify that the Access Permissions are set to Full Access for the web library functions.
See Setting Up Permission Lists.
Adding Security Access for WSDL Discovery
To enable WSDL discovery, the user profile must have access to WEBLIB_soaptoci.WEBLIB_soaptoci.WSDLSUMMARY.FieldFormula.IScript_WSDLDiscovery.
In addition, that user profile also needs to have security access for any of the component interfaces that are going to be discovered.
The two approaches for generating the WSDL for a component interface are:
Using the search capabilities within PeopleSoft on the Web Services for a component interface.
Generating WSDL Using PeopleSoft Search Capabilities
Access the Published EIPs page:
To generate WSDL, using the PeopleSoft search capability:
Select PeopleTools, Integration Broker, Web Services, Published EIPs.
Select Component Interface.
Click Search to display a list of component interfaces in the system that the given user is authorized to use.
You can also enter the component interface name in the Web Service field and click Search to display an individual component interface.
Note. Starting with the 8.46 release, the message node is now available for component interfaces. If you have defined SOAPTOCI against multiple nodes, a row for each node appears for each component interface.
Click the WSDL link to open a new window displaying the text of the WSDL.
If you have access to the methods of the component interface, they appear under the Methods column.
Note. If your web service supports uploading .wsdl files, you can copy and paste the WSDL into a .wsdl file. You can also save the file using the File, Save functionality in your browser.
Generating WSDL by Directly Accessing the iScript
To access the WSDL directly through a URL string, the user ID and password must be sent in the soap header with the tags userid and pwd. In addition, the nodename is now required.
http://servername:port/psc/ps/PORTAL_NAME/LOCAL_NODE/s/WEBLIB_SO APTOCI.WSDLSUMMARY.FieldFormula.IScript_WSDLDiscovery?&disconnect=y&postDataBin=y&APIName= CI_NAME Nodename
For example:
http://MyServer:80/psc/ps/EMPLOYEE/PT_LOCAL/s/WEBLIB_SOAPTOCI.WSDLSUMMAR Y.FieldFormula.IScript_WSDLDiscovery?&APIName=IB_GATEWAY_CI&nodeName=QE_IBTGT
The following code is an example of the Find request for SOAPTOCI.
<SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV: encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header> <Security xmlns="http://schemas.xmlsoap.org/ws/2002/xx/secext"> <UsernameToken> <Username>string</Username> <Password>string</Password> </UsernameToken> </Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <Find__CompIntfc__CIName > <Key1>String</Key1> <Key2>String</Key2> </Find__CompIntfc__CIName> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Note. Passwords will be stripped off unless the log level in integrationgateway.properties file is set to 5.
Note. PeopleSoft does not support namespace prefixes in the body of the SOAP document.
This section covers SOAP considerations.
Username and Password Considerations
The username and password for the security request portion of the SOAP document cannot refer to the same user that is specified for the integration gateway user. This user must have proper security access to the component interface that you plan to execute, and access to all the SOAPTOCI web library functions.
The WSDL specifies the URL and SOAPAction for sending the SOAP document to a PeopleSoft application. For reference they are shown here:
To test the SOAP document:
Verify the URL by entering it into your browser.
The URL form is:
http://server_name:port/PSIGW/HttpListeningConnector
Locate Send Master in PS_HOME\webserver\<domain_name> .
Run the batch file StartSendMaster.bat to start SendMaster test program.
Start a new project, enter a project name (SOAPTOCI), then click OK.
Enter the HttpListeningConnector URL in the ServerURL field.
The URL form is:
http://server_name:port/PSIGW/HttpListeningConnector
Enter the following headers in the Headers field:
Content-Type:text/xml http://peoplesoft.com/SOAPTOCI/THIRDPARTYNODE
where THIRDPARTYNODE represents the name of the external third-party node that you defined earlier.
Enter your SOAP request message in the Input Information field.
You can use a program such as XML Spy to generate the SOAP request based on the generated WSDL.
Click Post to post the SOAP to PeopleSoft.
View the response in the Output Information box.
See Also
The following is an example of a Find SOAP request for component interface SDK_BUS_EXP:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header> <Security> <UsernameToken> <Username>QEDMO</Username> <Password>QEDMO</Password> </UsernameToken> </Security> </SOAP-ENV:Header> <SOAP-ENV:Body> <Find__CompIntfc__SDK_BUS_EXP> <SDK_EMPLID>80</SDK_EMPLID> </Find__CompIntfc__SDK_BUS_EXP> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The response from PeopleSoft is:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <Find__CompIntfc__SDK_BUS_EXPResponse> <SDK_BUS_EXP> <SDK_EMPLID>8001</SDK_EMPLID> <SDK_NAME>Schumacher,Simon</SDK_NAME> <SDK_LAST_NAME_SRCH>ASD</SDK_LAST_NAME_SRCH> </SDK_BUS_EXP> <SDK_BUS_EXP> <SDK_EMPLID>8052</SDK_EMPLID> <SDK_NAME>Avery,Joan</SDK_NAME> <SDK_LAST_NAME_SRCH>AVERY</SDK_LAST_NAME_SRCH> </SDK_BUS_EXP> </Find__CompIntfc__SDK_BUS_EXPResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>