Sri’s Weblog

Welcome to Sri’s WebLog

PeopleSoft Integration Broker and Web Services (Updated)

with 27 comments

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>

<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/” xmlns:xsi=”http://www.w3.org/1999/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/1999/XMLSchema”>

<SOAP-ENV:Body>

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

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

<directoryCategories xmlns:ns2=”http://schemas.xmlsoap.org/soap/encoding/” 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/” 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>

<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>

<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>

<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>

<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>

Advertisement

Written by addsrikanth

August 25, 2008 at 2:08 am

Posted in PeopleSoft

27 Responses

Subscribe to comments with RSS.

  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. 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

    arun

    October 17, 2008 at 11:58 am

    • arun, i am getting the same problem too. could you please let me know if you had solved it.

      chaitanya

      August 19, 2009 at 4:15 am

  3. 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?

    Muthukumar

    November 10, 2008 at 11:54 am

  4. 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

    Pko

    November 11, 2008 at 1:01 am

  5. 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?

    kumar

    November 11, 2008 at 10:29 am

  6. 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?

    Muthukumar

    November 12, 2008 at 12:35 pm

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

    Rajesh

    December 2, 2008 at 5:44 pm

  8. 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?

    Jitthu V M

    December 3, 2008 at 5:31 am

  9. 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?

    Julian

    December 24, 2008 at 3:10 am

  10. 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

    anupreyan

    January 20, 2009 at 8:44 am

    • 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.

      addsrikanth

      January 24, 2009 at 3:45 pm

  11. 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.

    Raj

    January 21, 2009 at 7:07 am

    • 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.

      addsrikanth

      January 21, 2009 at 12:59 pm

      • Hi Raj,

        Did Sri gave u any solution for your question..can you please explain me in detail..

        Munny

        Munny

        September 21, 2009 at 10:21 am

  12. 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?

    Kishore

    March 19, 2009 at 6:50 am

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

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

    Richard Sandoz

    November 6, 2009 at 1:45 pm

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

    Richard Sandoz

    November 6, 2009 at 1:47 pm

  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)

    Richard Sandoz

    November 6, 2009 at 1:47 pm

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

    Richard Sandoz

    November 6, 2009 at 2:36 pm

  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?

    Freight Broker Training

    September 3, 2010 at 5:42 pm

  18. 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

    Giri

    September 30, 2010 at 6:20 pm

  19. http://api.google.com/GoogleSearch.wsdl

    Is not working. So I used the following URL to test Google Search WSDL:

    http://www.soapclient.com/xml/googleSearch.wsdl

    Giri

    September 30, 2010 at 7:04 pm

  20. Hiii,

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

    Uday

    February 10, 2011 at 10:22 am

  21. 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

    Narasimha reddy g

    March 9, 2011 at 7:20 am

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

    Will

    March 28, 2011 at 5:41 pm

  23. 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,

    Andy

    August 30, 2011 at 5:58 am


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 )

Connecting to %s

Follow

Get every new post delivered to your Inbox.