This chapter provides an overview of external web services for PeopleSoft Enterprise Portal, and discusses how to:
Enable external web services.
Use Content Management external web services schemas.
These external web services enable an external system to send values to PeopleSoft Enterprise Portal to create content in features such as Collaborative Workspaces, Content Management, and Discussions. In the case of CWService.FindWorkSpaceByContextData, external web service can also be used to view PeopleSoft Enterprise Portal content from within the external system.
The following external web services are available:
Collaborative Workspaces: CWService.CreateWorkSpace
Enables an external system to create Collaborative Workspaces for use with the PeopleSoft Enterprise Portal database.
Collaborative Workspaces: CWService.FindWorkSpaceByContextData
Enables an external system to access a Collaborative Workspace based on contextual data defined for the Collaborative Workspace.
Collaborative Workspaces: CWService.AddMembers
Enables an external system to add members to a Collaborative Workspace.
Content Management: CMService.AddContent
Enables an external system to add content to the Content Management feature.
Discussion Forums: DiscussionService.PostMessage
Enables an external system to post a message to a Discussion Forum.
External web service access to PeopleSoft Enterprise Portal APIs requires the use of PeopleSoft Integration Broker.
To enable external web services, perform the following steps:
Enable publish/subscribe on the application server.
Configure the appropriate application server to enable Pub/Sub Servers.
See Enterprise PeopleTools 8.48 PeopleBook: System and Server Administration, “Setting Application Server Domain Parameters”
Activate the message definition EO_PE_SOAPTOCI.
Using PeopleSoft Application Designer, open the EO_PE_SOAPTOCI message. Access the message properties and ensure that the Use tab Status value is set to Active.
Enable the message channel IB_CHNL
Using PeopleSoft Application Designer, open the IB_CHNL message channel. Access the message channel properties and ensure that the Use tab Message Channel Status value is set to Run.
Set up the integration broker gateway URL and integrationGateway.properties file.
Set up the local portal node.
Create a new external node and add EO_PE_SOAPTOCI message transactions to it.
Add security to the associated component interfaces and SOAPTOCI web libraries.
Associated component interfaces include EPPCM_ADDCONTENT, EPPCM_GETCONTENT, EPPCW_ADDMEMBER, EPPCW_CREATEWS, EPPCW_FINDWS, and EPPDF_ADDPOST.
Use SendMaster to test SOAP calls to the component interfaces using WSDL.
This section discusses how to:
Add content to Content Management with a Save SOAP request.
Get content in Content Management with a Get SOAP request.
Get content in Content Management with a Find SOAP request.
Following is an example of a Save SOAP request to add content:
<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_Request> <Username>VP1</Username> <Password>VP1</Password> </Security_Request> </SOAP-ENV:Header> <SOAP-ENV:Body> <Update_CompIntfc_EPPCM_ADDCONTENT> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONT_TYPE>U</EPPCM_CONT_TYPE> <EPPCM_TITLE>Test Sendmaster Content</EPPCM_TITLE> <EPPCM_CONT_LONG>http://www.yahoo.com</EPPCM_CONT_LONG> </Update_CompIntfc_EPPCM_ADDCONTENT> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The response from PeopleSoft, which uses a cloned SOAPTOCI message, is:
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <Updatedata_CompIntf_EPPCM_ADDCONTENTResponse xmlns="http://psfttemp.org"> <notification>The Content saved successfully. New Content ID = 2261.(18025,1738) </notification> <detail /> </Updatedata_CompIntfc_EPPCM_ADDCONTENTResponse> </SOAP-ENV:Body> <SOAP-ENV:Envelope>
Following is an example of a Get SOAP request to get content:
<SOAP-ENV:Envelope SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 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_Request> <Username>PS</Username> <Password>PS</Password> </Security_Request> </SOAP-ENV:Header> <SOAP-ENV:Body> <Get_CompIntfc_EPPCM_GETCONTENT> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2004</EPPCM_CONTENTID> </Get_CompIntfc_EPPCM_GETCONTENT> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The response from PeopleSoft is:
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <Get_CompIntfc_EPPCM_GETCONTENTResponse xmlns:="http://psfttemp.org"> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENID>2004</EPPCM_CONTENTID> <EPPCM_TITLE>Test Web Service CI HTML</EPPCM_TITLE> <EPPCM_CONT_TYPE>H</EPPCM_CONT_TYPE> <EPPCM_CONT_LONG /> </Get_CompIntfc_EPPCM_GETCONTENTResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Following is an example of a Find SOAP request to get content:
SOAP-ENV:Envelope SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 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_Request> <Username>PS</Username> <Password>PS</Password> </Security_Request> </SOAP-ENV:Header> <SOAP-ENV:Body> <Find_CompIntfc_EPPCM_GETCONTENT> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> </Find_CompIntfc_EPPCM_GETCONTENT> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Following is the response from PeopleSoft:
<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <Find_CompIntfc_EPPCM_GETCONTENTResponse xmlsn="http://psfttemp.org"> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2001</EPPCM_CONTENTID> <EPPCM_TITLE>Michele<EPPCM_TITLE> </EPPCM_GETCONTENT> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID> <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2004</EPPCM_CONTENTID> <EPPCM_TITLE>Test Web Service CI HTML</EPPCM_TITLE> </EPPCM_GETCONTENT> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID) <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2020</EPPCM_CONTENTID> <EPPCM_TITLE>Test Web Service CI</EPPCM_TITLE> </EPPCM_GETCONTENT> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID) <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2023</EPPCM_CONTENTID> <EPPCM_TITLE>Test URL</EPPCM_TITLE> </EPPCM_GETCONTENT> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID) <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2024</EPPCM_CONTENTID> <EPPCM_TITLE>Test URL from View</EPPCM_TITLE> </EPPCM_GETCONTENT> <EPPCM_GETCONTENT> <OPRID>VP1</OPRID) <PORTAL_NAME>EMPLOYEE</PORTAL_NAME> <EPPCM_CATG_TYPE>R</EPPCM_CATG_TYPE> <EPPCM_CATGID>1001</EPPCM_CATGID> <EPPCM_CONTENTID>2025</EPPCM_CONTENTID> <EPPCM_TITLE>Test URL Derived Record</EPPCM_TITLE> </EPPCM_GETCONTENT> </Find_CompIntfc_EPPCM_GETCONTENTRespone> </SOAP-ENV:Body> </SOAP-ENV:Envelope>