Hi,
I just stumbled upon this very interesting App Package in FSCM 9.0 > "SCM_UTILITIES"...
Its a collection of some really amazing application classes, and over the last few days i was busy trying to use a few them...Of the couple of classes that i used, the best i found was to Integrate with external Web Services (implementing SOAP 1.1/1.2) without having the need to create
1. Service
2. Service Operation
3. Message Defn
4. Node Defn
One can actually skip creating all these definitions and still integrate with External Web Services.
The trick is to use the delivered App Class "XMLPoster"...
All that is required is...
1. URL (WSDL End Point...SOAP Address Location in WSDL...normally is same for both SOAP1.1/1.2)
2. Request SOAP Structure
3. HTML - This will store the SOAP Request (GETCOUNTRYNAME)
Use the following piece of code to test it out!!!
import SCM_UTILITIES:Integration:XMLPoster;
Local SCM_UTILITIES:Integration:XMLPoster &XMLPost_ = create SCM_UTILITIES:Integration:XMLPoster();
/* SOAPPost */
Local string &TargetUrl_ = "http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso;
Local string &soapstr = GetHTMLText(HTML.GETCOUNTRYNAME);
Local string &SOAPResp_ = &XMLPost_.XMLPost(&TargetUrl_, &soapstr);
MessageBox(0, "", 0, 0, "&SOAPResp_ " &SOAPResp_);
!!!Happy Integrating!!!
Re: PeopleSoft FSCM 9.0 Installation issues..
9 hours ago

7 comments:
Very interesting.
Can you explain how default userid and external userid and password useds.
And what role do they plan when the other node is a PIA node or external node ? and we are publishing or subscribing to the message ?
Interesting discovery. Thanks for posting this.
Hi psofttech,
The idea here is to avoid any defns one generally uses while integrating...so the User ID/pwd being used on Nodes doesnt feature in the picture...based on the WSDL that you are using...
Lemme know if this answers your query.
Thank You
Hi Graham,
Thank you...but the existing class file does have a defect...If you try using the SOAPPost method for your WSDL's, you would get a IO exception, the reason being that the SOAP Action one passes to the App Package is not referenced any where in the class file. It passes a blank SOAPAction instead of passing the variable S2 within the class. Hence, currently making use of the XMLPost method.
Thank You.
Prashant
Hi Ciphersbak,
Its fantastic. But how do i pass the XML data to the 3rd party? XMLPOST method has only 2 arguments, targetURL and INxml url. I'm currently working on integration project (PeopleSoft CRM 9 to Microsoft CRM) and we are planning to use web services through "provide service" and "consume service". Do you think, i could use XMLpost approach for my project. Please help me out on this.
The following Statement is the request XML/SOAP for the Web Service...
Local string &soapstr = GetHTMLText(HTML.GETCOUNTRYNAME);
You would then have to pass it like the one below...
Local string &SOAPResp_ = &XMLPost_.XMLPost(&TargetUrl_, &soapstr);...
Hi Ciphersbak,
this is great, and I'm real interested in see it work. I don't get any data in my response, I was wondering if maybe I structured my soap msg in the HTML object incorrectly. I used the sample from their website, and also tried using the soap call genereated by SOAPUI? Thanks in advance for your help!
Perry
Post a Comment