Web Service Consumer for JDE BSSV Customer Manager - processCustomer

Calling JDE Business Services (BSSV), aka Web Services, can be tricky and there is little information on Oracle's or Informatica's website showing how. In fact, importing the JDE CustomerManager.wsdl into an Informatica web service consumer creates a large confusing, near impossible to understand transformation.

Here's a high level overview to create a usable JDE 9.0 Customer Manager BSSV, be aware your requirements may be different and you may have to deviate from these steps to fit your need.

How To Create an Informatica Web Service Consumer Transformation for the BSSV processCustomer Operation

In PowerCenter Designer, select menu option: Transformation > Create > Web Service Consumer

Enter the WSDL URL into the Address input field, click Open



Accept defaults, click OK



Choose the Operation "processCustomer"



The default View option is “Entity Relationships”, change the selection to “Hierarchy Relationships” and click Finish.



A basic web service transformation is created; the only input is the PK for the Envelope. Here is an example:



Open the WSDL Workspace to add input ports for the columns you require. Right Click the transformation, choose WSDL Workspace > Input Mode…



After the WSDL Workspace opens, you will see a View representation with only the Envelope defined.



Right Click the Envelope column, select Navigate To > Select Component.



This will highlight the Envelope section in the Tree view. Expand it and choose the columns you want to use as Inputs for your Web Service transformation.

Open n11:Envelope > processCustomer >arg_0_2 > processAddressBook

Drag required columns to the View representation. Note: If Phone and Electronic Address are required, add them to their own views (these are multiple occurrence inputs).



Example of the View after Input Ports have been added.



Click Validate and if there are no errors, click Save and close the WSDL workspace.

Your Web Service Transformation will look similar to this



Double click the Transformation title bar, select the Web Services Consumer Properties tab, change the WS Security Type option to “PasswordText”. This will cause two new columns to be added to the transformation, one for a userid and one for a password.

Also on the Web Services Consumer Properties tab, the End Point URL can be set to a parameter as discussed in this Informatica KB article (31465).



The Transformation after the user id and passwords are added:



Add Output ports as required, follow the same process as adding input ports. Right Click the transformation, choose WSDL Workspace > Input Mode… Add any “processCustomerResponse” ports to the Envelope view.



Multiple Occurring Inputs – Phone and Electronic Address

Add the Phone and Electronic Address (email) input ports if required, make these sections to the Web Service Transformation as separate XML views, then use the entity id (jde number) as the Envelope PK, this will allow creation of Soap Request that allow multiple occurances of phone nbrs and email addresses.

Web Service Consumser Transformation with Phone and Electronic Address Input (X_PhoneNumber, X_ElectronicAddress)

 

Other Tips
  • The only way to see the BSSV’s Soap Request is to set the Workflow’s Session logging to Verbose mode, then the request will be in the session log file.
  • Watch out for DTM errors:
  • TM_6100 - The session does not have enough buffer blocks for targets and sources. Increase the DTM buffer size to at least x.
  • The Web Service Transformation will default input ports to a length of 1000, this can cause the transformation to error if data larger than JDE can accept is passed in.
  • Create an Expression Tranformation prior to the WS Transformation to set the lenths of the input ports to match the actual JDE table column sizes.
  • Example: Address is a 40 char column in JDE, you should not pass data larger than 40 to the web service even though it will accept it.
  • Messages, faults and failures show up in the Session log but are not always returned via the Web Service Transformation output
Conclusion

Informatica PowerCenter does an ok job calling web services. I hope do more in the future to allow easier access to the Soap Request and Soap Response.



Thank you for your support
 or  PayPal


 

IMPORTANT,  YOU are responsible for backing up your systems before trying or implementing any suggestions from this blog. I do not guarantee 100% accuracy of any code examples. I do not presume to know your system environment(s) or Security requirements; all code examples from this blog should be thoroughly tested before any attempted use on a production system.

0 Response to "Web Service Consumer for JDE BSSV Customer Manager - processCustomer"

Post a Comment