13/3/2019 Document 1346096.1 Copyright (c) 2019, Oracle. All rights reserved. Oracle Confidential. E1: BSSV: How to test Consumer Sample running Locally on lntegrated Weblogic Server (Doc ID 1346096.1) In this Document Goal Solution References APPLIES TO: JD Edwards EnterpriseOne Tools - Version 8.98 and later Information in this document applies to any platform. GOAL JRH90I33 is a Consumer BSSV Reference Implementation which can be used to test the BSSV consumer scenario locally with the Integrated WebLogic Server(WLS) i.e. against the target web service JPR01000 running on WebLogic. SOLUTION Prerequisites Apply ESU for B953002.C Download and install the BSSV consumer reference implementation for WLS - JRH90I33 (JAX-RPC) or JRH90I34 (JAXWS) to the Deployment Server. Refer to (Doc ID 1090650.1) for steps on how to download and install the object into the Deployment Server. JRH90I33 runs on jdev integrated weblogic and it needs to call JPR01000 running an existing bssv server. On the E1 development client machine, using OMW, first Search for the JRH90I33/4 object and then do a Get operation in OMW to get the JRH90I33/4 object locally to E1_Install_Path\ DV900\java\source\oracle\e1\bssv\JRH90I33/4 location. When running E1 9.1 you may not find the jar in the above location. In that case, please download the attachment. Ensure the JPR01000 Business Service is deployed to the BSSV Server and that this is running properly (test in SOAPUI returns correct values for the 'getAddressBook' operation) Place the policy file - "Wssp1.2-2007-Https-UsernameToken-Plain.xml" and certificate file - "DemoTrust.jks" in the JDeveloper Integrated WLS domain path For eg C:\Users\dell21\AppData\Roaming\JDeveloper\system11.1.1xxxxxx\DefaultDomain For Jdev12.1.3 and above Wssp1.2-2007-Https-UsernameToken-Plain.xml is no longer used. See below message to use bssvpolicy.xml The policy file "Wssp1.2-2007-Https-UsernameToken-Plain.xml" can be found in the Weblogic_Install_Path\wlserver_10.3\server\lib\weblogic.jar. - Open this in winzip application and extract \weblogic\wsee\policy\runtime\Wssp1.2-2007-HttpsUsernameToken-Plain.xml The certificate file "DemoTrust.jks" can be found in the Weblogic_Install_Path\ wlserver_10.3\server\lib path. Starting with JDEV release 12.1.3 copy bssvpolicy.xml From the following location on an existing BSSV server D:\Oracle\Middleware\user_projects\domains\BSSV_domain\servers\BSSV_DV\stage\DV_BSSV\app\E1Services-DV920web.war\WEB-INF\policies to https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 1/10 13/3/2019 Document 1346096.1 the local development machine location: C:\Users\NAME\AppData\Roaming\JDeveloper\system12.x.x.xxxxxxx.DefaultDomain Copy the DemoTrust.jks from an existing BSSV server D:\Oracle\Middleware\wlserver\server\lib to the local development machine location: C:\Users\NAME\AppData\Roaming\JDeveloper\system12.x.x.x.xxxxxxxxx\DefaultDomain Steps to test the BSSV consumer scenario with the RI - JRH90I33 (JRH90I34) running on Integrated WLS Create a Deployment Profile and Deploy BSSV_EAR with JRH90I3 or JRH90I34 to JDEV 11g Integrated WLS 1. Open JRH90I33 (JRH90I34) in JDEV 11g from OMW Right Click JRH90I33 (JRH90I34) and "Make JRH90I34.jpr" ( this will create the class file for JRH90I3x under C:\E910\DV910\java\classes\oracle\e1\bssv and you will be able to see this in the WEB-INF\classes [step#10]) 2. Right Click JRH90I33 - Project Properties 3. Select Deployment - Edit the JRH90I33 deployment profile 4. In File Groups - Add New Group - WEB-INF (File Group Name ) and Type as Packaging https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 2/10 13/3/2019 Document 1346096.1 5. Target Directory in archive - WEB-INF https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 3/10 13/3/2019 Document 1346096.1 6. Contributors - Add - C:\e900\system\classes\ConsumerWEBXML. NOTE: Make sure to use the Browse button to navigate to the location (do not directly type in the path). This will insure that the web.xml file which is located under this folder comes into the deployment correctly. https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 4/10 13/3/2019 Document 1346096.1 7. In Filters, make sure web.xml is added - only web.xml is necessary - deselect everything else - including "oracle". However, if using a custom package prefix, then you must select the package prefix for all custom bssv objects. 8. In WEB-INF\lib - Contributors - make sure SBFProjects is added and in Filters all E1 Foundation JARS are added https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 5/10 13/3/2019 Document 1346096.1 9. In WEB-INF\classes - Contributors - Make sure C:\e900\DV900\ini\sbf is added and in Filters all E1 ini files are added and also in oracle - e1 - bssv - JRH90I3x is added - add only this and deselect all others. Note: If you are testing Custom Consumer that requires to access multiple Internal BSSVs in IntegratedWLS, you must check mark all the objects you need in step #9. This is due to the JAVA requirement. You can only have 1 war file and all the class files must exist within the war file. 10. Select Platform and choose the appropriate app server and version (i.e iWLS 12.1.2) 11. Save all the deployment changes 12. Start the Integrated WLS (Click on the Application Server tab, right mouse click on the "IntegratedWebLogicServer" and Start) 13. Deploy the JRH90I3x to the JDeveloper Integrated WLS Setup an OCM record for enterprise server to point to BSSV server Add an OCM record in the Local DataSource (e.g. - System-900) or Server Data Source i.e. depending on where the BSFN B953002 (which will actually call the Consumer BSSV JRH90I33) is running. 1. 2. 3. 4. Log into the E1 FAT Client. Use E1 user with authority to work with OCM application. Fast path to GH9011 Expand System Administration Tools menu, locate Object Configuration Manager (P986110) and go to Versions. Choose ZJDE0003 version and click Select. https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 6/10 13/3/2019 Document 1346096.1 5. On the next screen, choose the correct data source. If you are using production environment, business functions will be run on enterprise server. So use the System data source. 6. Click Add on next screen to add the OCM record. Environment Name: environment to be used to testing. i.e. DV910 Service Name: BSSV User / Role: E1 user id or role for this user of *PUBLIC Server: BSSV server name. If the consumer BSSV is running locally on JDEV 11g's Integ WLS, give the machine name where JDEV 11g is installed. Port: JDENET listening port on the BSSV server. Port should be the serviceNameListen located in the E1 client '\ini\sbf\jdeinterop.ini' file packaged in BSSV_EAR that was deployed to the JDeveloper Integrated WLS Server 7. Click OK to save the record. 8. Activate the OCM record just entered. 9. Select the OCM record. From Row menu, choose Ping BSSV Server option. This will test the connectivity with BSSV server. Make sure it is successful. 10. Restart Enterprise server to load new OCM entry. Setting the RI Service Property Value 1. 2. 3. 4. Launch Service Property Application, P951000. Add the BSSV level service property JRH90I30_APP_SERVER_OAS_OR_WAS_OR_WLS. Set the value to 'WLS' for JAX-RPC or 'JAXWS' for JAX-WS Save the record. Create Soft Coding record for RI 1. Fast path to P954000 - Make sure you access it via HTML Client (not Fat Client) 2. Click on Add on Work with Soft Coding application form. 3. On the Add form, populate following fields: User / Role: E1 user name that will be used for testing Environment: E1 environment that will be used during test For JAX-RPC Soft Coding Key: JRH90I33 For JAX-WS Soft Coding Key: JRH90I34 Soft Coding Value: Add the below XML https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 7/10 13/3/2019 Document 1346096.1 <scwls> <endpoint>https://[MACHINE_NAME]:9999/PS900/RI_AddressBookManager</endpoint> <username>USERNAME</username> <password>PASSWORD</password> <policy>bssvpolicy.xml</policy> <trustkey>DemoTrust.jks</trustkey> </scwls> Note: In the above XML, endpoint - should point to the secured URL where the BSSV Server has been deployed (and JPR01000 has been enabled). username & password since the web service is secure and it requires username and password for access. policy & trustkey The names of the SSL based policy and trustkey files. These files are required since the target web service is secured using HTTPS/SSL the policy will be either bssvpolicy.xml or Wssp1.2-2007-Https-UsernameToken-Plain.xml depending on your tools release. The target web service for JPR01000 needs to be running on Standalone WLS (see doc ID 1274889.1). This is due to a BUG which was found within JDEV where the webservice proxy is not able to consume the webservice on the integrated WLS. Bug 12991247 - WEBSERVICE PROXY CREATED IN JDEV11G NOT ABLE TO CONSUME WEBSERVICE ON WLS When running the consumer with Standalone WLS, it is by default secured which causes the the following error Call to Web Service failed, error: javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received. Do the following to remove the security policy so that you can make the call out to the http port. - Go into the WLS for the BSSV server and remove the security policy from the BSSV object RI_AddressBookManager. See the following document on how to remove the policy E1: BSSV: Is Weblogic SSL (https/HTTPS) For BSSV Services Mandatory? Would like to use HTTP (Doc ID 1287948.1) - Make sure to restart the BSSV server and test using the HTTP port thru SoapUi to verify that it is working. You do not need to add any security to the header when calling with HTTP. - Remove any security settings in the softcoding record so it will appear like this <scwls> <endpoint>http://[MACHINE_NAME]:9999/PD910/RI_AddressBookManager</endpoint> </scwls> Run your test and see that it is successful Disable "Hostname Verification" for Default Domain (IntegratedWLS) 1. Login to console of your IntegratedWebLogicServer a. http://localhost:7101/console b. User ID: weblogic c. Pwd: weblogic1 2. Select "Environment" from the Domain Structure window 3. Servers::click on the "DefaultServer(admin)" link 4. Click on the SSL tab and expand the "Advanced" link in the bottom 5. Select "None" for "Hostname Verfication:" 6. Save https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 8/10 13/3/2019 Document 1346096.1 With Jdev12c, we experienced that this option didn't work. Even putting the "Dweblogic.security.SSL.ignoreHostnameVerification=true" in Arguments in the startup tab didn't work either. The workaround was: 1. Open the setDomain.Env.cmd (C:\Users\USER_PROFILE\AppData\Roaming\JDeveloper\system11.1.xxxxxxx\DefaultDomain\bin) 2. Look for - set JAVA_OPTIONS=%JAVA_OPTIONS% 3. Change this to set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.security.SSL.ignoreHostnameVerification=true export JAVA_OPTIONS 4. Restart the IntegratedWLS 5. Test. Reference Solution - Hostname Verification Failed Error Even After Hostname Verification Disabled from Admin Console (Doc ID 1633278.1) Restart the Integrated WLS After doing all the above steps, Restart the Jdeveloper 11s Integrated Weblogic Admin Server where the BSSV_EAR with JRH90I33 is running. Run the RI Application 1. Fast Path to RI application, P954001. 2. Enter valid address book number (4242, 1001) and click getAddressBookInfo button. 3. Application will call BSFN that will call business service which consume AddressBook web service to get AB record for AB number entered Troubleshooting Tips If you have any issues while testing the consumer BSSV scenario, configure the following logs BSSV log - Using the jdelog.properties file present in E1_Install_Path\ini\sbf folder for further information. Jde and JdeDebug logs IntegratedWeblogicServer log This log is located at: C:\Documents and Settings\USER_PROFILE\Application Data\JDeveloper\system11.1.xxxxxxxx\DefaultDomain\servers\DefaultServer\logs For further issues regarding Consumer sample, please refer to the Troubleshooting Doc # 1372646.1 Also, see E1:BSSV Errors When Deploying JRH90I34 To Jdeveloper Integrated Server on [MACHINE] - Error Unexpected character '.' (code 46) in prolog; expected '<' (Doc ID 2288748.1) https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 9/10 13/3/2019 Document 1346096.1 Didn't find what you are looking for? https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=1c177r1j6b_237&id=1346096.1 10/10