PeopleSoft Integration Broker and Web Services (Updated)

Thanks for the various comments on my post for the PeopleSoft Integration Broker and Web services. Based on the comments, I noticed that I needed to provide additional information regarding the IB integration with Google web services. I noticed that most of the comments were related to the external system contact error. If you continue to receive this error after following the steps below, it is most likely that some of the configuration were either not done or you are behind a firewall that preventing you from going out of the network.

  1. Configure the integration broker by changing the gateway URL.

 

2.Activate the IB domain. When PeopleSoft is initially installed you will see a lot of invalid IB domains.You can flush out the invalid entries by purging the domain status.

3. When the integration gateway is configured you should see the target connectors in the gateway configuration.

 

 

 

4.Configure the services schemaname and target location. Please note the “Service” in the listening connector. This is PeopleSoftServiceListeningConnector.

 

5.Configure the service using the web service consume wizard.

7.Create a page,record etc to test the integration.

 

8.Enter the following code to test the integration we created.

Local SOAPDoc &SOAPDoc;

 

 

Local XmlNode &lnodeEnvNode;

&SOAPDoc = CreateSOAPDoc();

&SOAPDoc.AddEnvelope(%SOAP_Custom);

&lnodeEnvNode = &SOAPDoc.EnvelopeNode;

&lnodeEnvNode.AddAttribute(“xmlns”, “urn:GoogleSearch”);

&SOAPDoc.AddBody();

&SOAPDoc.AddMethod(“doGoogleSearch”, 1);

&SOAPDoc.AddParm(“key”, “eDZYCx9QFHIXI/xojJqrYspYi1Geo74o”);

&SOAPDoc.AddParm(“q”, “BPEL”);

&SOAPDoc.AddParm(“start”, “0”);

&SOAPDoc.AddParm(“maxResults”, “5”);

&SOAPDoc.AddParm(“filter”, “true”);

&SOAPDoc.AddParm(“restrict”, “”);

&SOAPDoc.AddParm(“safeSearch”, “false”);

&SOAPDoc.AddParm(“lr”, “”);

&SOAPDoc.AddParm(“ie”, “lang_en”);

&SOAPDoc.AddParm(“oe”, “lang_en”);

&lxmlDoc = CreateXmlDoc(&SOAPDoc.GenXmlString());

&lmsgGoRequest = CreateMessage(Operation.DOGOOGLESEARCH);

MY_GOOG_IB_WRK.RAWXML1.Value = &lxmlDoc.GenXmlString();

&lmsgGoRequest.SetXmlDoc(&lxmlDoc);

&lmsgGoResponse = %IntBroker.SyncRequest(&lmsgGoRequest);

MY_GOOG_IB_WRK.RAWXML2.Value = &lmsgGoResponse.GenXMLString();

9. Here is request and response

Request :

<?xml version=”1.0″?>

<SOAP-ENV:Envelope xmlns=”urn:GoogleSearch” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”><SOAP-ENV:Body><doGoogleSearch><key>eDZYCx9QFHIXI/xojJqrYspYi1Geo74o</key><q>BPEL</q&gt;

<start>0</start><maxResults>5</maxResults><filter>true</filter><restrict/>

<safeSearch>false</safeSearch><lr/><ie>lang_en</ie>

<oe>lang_en</oe></doGoogleSearch>

</SOAP-ENV:Body></SOAP-ENV:Envelope>

Response:

<?xml version=’1.0′ encoding=’UTF-16′?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/&#8221; xmlns:xsi=”http://www.w3.org/1999/XMLSchema-instance&#8221; xmlns:xsd=”http://www.w3.org/1999/XMLSchema”&gt;

<SOAP-ENV:Body>

<ns1:doGoogleSearchResponse xmlns:ns1=”urn:GoogleSearch” SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”&gt;

<return xsi:type=”ns1:GoogleSearchResult”>

<directoryCategories xmlns:ns2=”http://schemas.xmlsoap.org/soap/encoding/&#8221; xsi:type=”ns2:Array” ns2:arrayType=”ns1:DirectoryCategory[0]”>

</directoryCategories>

<documentFiltering xsi:type=”xsd:boolean”>false</documentFiltering>

<endIndex xsi:type=”xsd:int”>5</endIndex>

<estimateIsExact xsi:type=”xsd:boolean”>false</estimateIsExact>

<estimatedTotalResultsCount xsi:type=”xsd:int”>1640000</estimatedTotalResultsCount>

<resultElements xmlns:ns3=”http://schemas.xmlsoap.org/soap/encoding/&#8221; xsi:type=”ns3:Array” ns3:arrayType=”ns1:ResultElement[5]”>

<item xsi:type=”ns1:ResultElement”>

<URL xsi:type=”xsd:string”>http://en.wikipedia.org/wiki/Business_Process_Execution_Language</URL&gt;

<cachedSize xsi:type=”xsd:string”>49k</cachedSize>

<directoryCategory xsi:type=”ns1:DirectoryCategory”>

<fullViewableName xsi:type=”xsd:string”></fullViewableName>

<specialEncoding xsi:type=”xsd:string”></specialEncoding>

</directoryCategory>

<directoryTitle xsi:type=”xsd:string”></directoryTitle>

<hostName xsi:type=”xsd:string”></hostName>

<relatedInformationPresent xsi:type=”xsd:boolean”>true</relatedInformationPresent>

<snippet xsi:type=”xsd:string”>As defined in the abstract

of the Web Services &lt;b&gt;Business Process

Execution Language&lt;/b&gt; &lt;br&gt; OASIS Standard

WS-&lt;b&gt;BPEL&lt;/b&gt; 2.0, WS-&lt;b&gt;BPEL&lt;/b&gt;

(or &lt;b&gt;BPEL&lt;/b&gt; for short) is a language for &lt;b&gt;…&lt;/b&gt;</snippet>

<summary xsi:type=”xsd:string”></summary>

<title xsi:type=”xsd:string”>&lt;b&gt;Business Process

Execution Language&lt;/b&gt; – Wikipedia, the free encyclopedia</title>

</item>

<item xsi:type=”ns1:ResultElement”>

<URL xsi:type=”xsd:string”>http://www.ibm.com/developerworks/library/ws-bpel/</URL&gt;

<cachedSize xsi:type=”xsd:string”>28k</cachedSize>

<directoryCategory xsi:type=”ns1:DirectoryCategory”>

<fullViewableName xsi:type=”xsd:string”></fullViewableName>

<specialEncoding xsi:type=”xsd:string”></specialEncoding>

</directoryCategory>

<directoryTitle xsi:type=”xsd:string”></directoryTitle>

<hostName xsi:type=”xsd:string”></hostName>

<relatedInformationPresent xsi:type=”xsd:boolean”>true</relatedInformationPresent>

<snippet xsi:type=”xsd:string”>&lt;b&gt;Business Process Execution Language&lt;/b&gt; for Web Services provides a means to formally &lt;br&gt; specify business processes and interaction protocols.</snippet>

<summary xsi:type=”xsd:string”></summary>

<title xsi:type=”xsd:string”>&lt;b&gt;Business Process Execution

Language&lt;/b&gt; for Web Services version 1.1</title>

</item>

<item xsi:type=”ns1:ResultElement”>

<URL xsi:type=”xsd:string”>http://searchsoa.techtarget.com

/generic/0,295582,sid26_gci1172072,00.html</URL>

<cachedSize xsi:type=”xsd:string”>68k</cachedSize>

<directoryCategory xsi:type=”ns1:DirectoryCategory”>

<fullViewableName xsi:type=”xsd:string”></fullViewableName>

<specialEncoding xsi:type=”xsd:string”></specialEncoding>

</directoryCategory>

<directoryTitle xsi:type=”xsd:string”></directoryTitle>

<hostName xsi:type=”xsd:string”></hostName>

<relatedInformationPresent xsi:type=”xsd:boolean”>true</relatedInformationPresent>

<snippet xsi:type=”xsd:string”>This SearchSOA.com learning guide introduces you to &lt;b&gt;Business Process Execution&lt;/b&gt; &lt;br&gt; &lt;b&gt;Language&lt;/b&gt; for Web services, or BPEL4WS. In this &lt;b&gt;BPEL&lt;/b&gt; learning guide, &lt;b&gt;…&lt;/b&gt;</snippet>

<summary xsi:type=”xsd:string”></summary>

<title xsi:type=”xsd:string”>&lt;b&gt;BPEL&lt;/b&gt; Learning Guide</title>

</item>

<item xsi:type=”ns1:ResultElement”>

<URL xsi:type=”xsd:string”>http://www.oasis-open.org/committees/wsbpel/</URL&gt;

<cachedSize xsi:type=”xsd:string”>25k</cachedSize>

<directoryCategory xsi:type=”ns1:DirectoryCategory”>

<fullViewableName xsi:type=”xsd:string”></fullViewableName>

<specialEncoding xsi:type=”xsd:string”></specialEncoding>

</directoryCategory>

<directoryTitle xsi:type=”xsd:string”></directoryTitle>

<hostName xsi:type=”xsd:string”></hostName>

<relatedInformationPresent xsi:type=”xsd:boolean”>true</relatedInformationPresent>

<snippet xsi:type=”xsd:string”>The purpose of the Web Services &lt;b&gt;Business Process Execution Language&lt;/b&gt; TC was to &lt;br&gt; continue work on the business process language published in the &lt;b&gt;Business&lt;/b&gt; &lt;b&gt;…&lt;/b&gt;</snippet>

<summary xsi:type=”xsd:string”></summary>

<title xsi:type=”xsd:string”>OASIS Web Services &lt;b&gt;Business Process Execution Language&lt;/b&gt; (WSBPEL) TC</title>

</item>

<item xsi:type=”ns1:ResultElement”>

<URL xsi:type=”xsd:string”>http://www.bpelsource.com/</URL&gt;

<cachedSize xsi:type=”xsd:string”>32k</cachedSize>

<directoryCategory xsi:type=”ns1:DirectoryCategory”>

<fullViewableName xsi:type=”xsd:string”></fullViewableName>

<specialEncoding xsi:type=”xsd:string”></specialEncoding>

</directoryCategory>

<directoryTitle xsi:type=”xsd:string”></directoryTitle>

<hostName xsi:type=”xsd:string”></hostName>

<relatedInformationPresent xsi:type=”xsd:boolean”>true</relatedInformationPresent>

<snippet xsi:type=”xsd:string”>A comprehensive &lt;b&gt;Business Process Execution Language&lt;/b&gt; resource guide covering &lt;b&gt;BPEL&lt;/b&gt; &lt;br&gt; process management software, services, information, and news.</snippet>

<summary xsi:type=”xsd:string”></summary>

<title xsi:type=”xsd:string”>BPELSource &lt;b&gt;BPEL&lt;/b&gt; Resource Guide</title>

</item>

</resultElements>

<searchComments xsi:type=”xsd:string”></searchComments>

<searchQuery xsi:type=”xsd:string”>BPEL</searchQuery>

<searchTime xsi:type=”xsd:double”>0.131477</searchTime>

<searchTips xsi:type=”xsd:string”></searchTips>

<startIndex xsi:type=”xsd:int”>1</startIndex>

</return>

</ns1:doGoogleSearchResponse>

 

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Advertisements

31 Comments on “PeopleSoft Integration Broker and Web Services (Updated)”

  1. […] wanted to integrate PeopleSoft with Amazon web service similar to the one I did before here for Google. But, this time I would like to add BPEL to the mix because that is certainly the way […]

  2. arun says:

    Excellent post. I tried one such integration with w3schools.com example webservice(temp conversion). I am getting Integration Gateway – External System Contact Error. What might be the problem

  3. Muthukumar says:

    Can you share the WSDL_NODE’s definition – especially the Primary URL of it? I believe this is the node to which the XML document will be posted to carry it over to operation call. What exactly is the URL of the receiving node?

  4. Pko says:

    Hi from Mexico,

    I have a problem when i configured the integration gateway.- this is teh message when see the target conector

    SOAP-ENV:ServerPeopleSoftTargetConnector:Unable to decrypt the passwordIntegration Broker Response2010209

    Help me please

  5. kumar says:

    Thanks for the info. However, When I try to consume a webservice from a URL (as specified in this post) I am getting an error “ExternalOperationName” parameter is missing. Any idea why I am not able to parse the WSDL?

  6. Muthukumar says:

    Hi,
    Thanks for an excellent post. However, When I try to connect to the google webservice, I am getting an error Suggesting that an integration broker error – External operation name is mandatory. I am not sure if there is any problem with the connectors. Can you please help?

  7. Rajesh says:

    Excellent work sri, i have been constantly reading your work on IB. Very impressive. Keep it going..

  8. Jitthu V M says:

    Thanks for your helpful post. When i try to consume a web service using WSDL url i am getting an error

    “Failed to parse WSDL document. Not a valid WSDL. Could not find definitions element”

    Could you please help?

  9. Julian says:

    I have the same problem with Arun…

    Integration Gateway – External System Contact Error (158, 1072)

    I am able to ping to Gateway, I have no problem accessing the WSDL URL from the Web Explorer.

    Any other steps I’ve missed out?

  10. anupreyan says:

    hi Sri,

    This article is very useful especially for people like me who dont have an instance to try it out immediately:-)

    I have a query might sound silly though,excuse me.
    I have integrated HCM with third party using web services but the version 8.9.
    In 9.0 the only difference in using web services is that the WSDL is auto generated right and I do not need to use BPEL stuff…

    Thanks,
    Anu

    • addsrikanth says:

      Anu,
      I am not sure I understand your question.
      But, I am think you question is can you integrate systems without using BPEL?
      Yes, you can do that. Infact if you look at the google integration that I have done, you will notice that I did the integration using PeopleSoft and Google using auto WSDL from google.

  11. Raj says:

    Hi Sri,

    Was looking at integrating Peoplesoft with an external system i.e. ASP, basically would like to transfer the data from an ASP page and store it in a PS system using Web services & IB. Could you please help me out with it.

    • addsrikanth says:

      Raj,
      For PeopleSoft inbound messages using web services, one of option is Component interface. Performance of the CI is little questionable but it depends on the underlying componenet. I will try to get you some example of this soon, may over this weekend.

  12. Kishore says:

    Hi,
    Thanks for your post.i have few questions.
    Where Listening connectors resides ?and how we can see the listening connectors assosiated with the particular gateway?
    why we will use more than one subscription event to recieve the messages?

  13. In response to:
    SOAP-ENV:ServerPeopleSoftTargetConnector:Unable to decrypt the passwordIntegration Broker Response2010209

    (*) Configure gateway properties
    PeopleTools -> Integration Broker -> Configuration -> Gateways

  14. Search (should just bring you to your gateway, LOCAL)
    Click link ‘Gateway Setup Properties’ then Login

  15. Fill in fields:
    App Server URL: //hostipaddress:9000
    UserID: PS
    Password: PS
    Tools Release: 8.49
    (Tools release needs to be correct or else obscure errors)

  16. Also:
    Update ANONYMOUS node
    PeopleTools -> Integration Broker -> Integration Setup -> Nodes
    Change Default UserID to PS (has PSADMIN)

  17. Great! Thank you so much for making this wonderful site. There are just a few questions I’d like to ask, how can we see the listening connectors associated with the particular gateway?

  18. Giri says:

    The above configuration presumes that you have already setup WSDL_NODE in your Integration Broker properties.

    If you are getting the following error when Pinging the WSDL_NODE (External Remote node), that means you have done the correct configuration.

    Integration Gateway – External System Contact Error

    Gateway: LOCAL
    Connector ID: HTTPTARGET

    Primary URL: Primary URL of your Webservice

  19. Uday says:

    Hiii,

    U created Node …m not getting HTTPTARGET..So plz..can u brief this??

  20. Narasimha reddy g says:

    i have similar requirement. i have consumbed third part WSDL file. i have written SOAP for request and response . i am getting fault string “java.lang.NullPointerException




    soapenv:Server.userException
    java.lang.NullPointerException

    carnage

  21. Will says:

    Has anyone done this with Documentum…. Pulling data or getting It to Open one of the scanned Documents

  22. Andy says:

    To whom it may concern,

    I have used the code above for something else but I am getting the error where SetXmlDoc method is used and the actual error is “This method can only be used by nonrowset-based messages. (2,852) RECORD.FIELD.FieldChange PCPC:1459 Statement:14.

    Does anybody know how to resolve this issue.

    Thanks in advance,

  23. PS Learner says:

    Another Website where PS Web service Consuming explained:

    http://psoftadmirer.blogspot.in/2012/06/consume-3rd-party-web-services-in.html

  24. Sayantan Polley says:

    Hi,
    Your details are awesome! But i am having a different scenario.
    I also want to make an outbound call from PSFT to a third party web service.
    But I want to invoke that call when a particular app engine program ends.(When Mass Assign -Population Select program ends)
    Can you tell me how to proceed? Which peoplebook do i need to follow?
    Please let me know! I am struggling with it!

    I am a newbie in PSFT.

    Sayantan


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s