{"id":2557,"date":"2011-06-20T14:37:26","date_gmt":"2011-06-20T19:37:26","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=2557"},"modified":"2015-04-17T13:53:46","modified_gmt":"2015-04-17T18:53:46","slug":"soa-11g-tutorial-virtualize-services-with-osb","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=2557","title":{"rendered":"SOA 11g Tutorial: Virtualize Services with OSB"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Create_OSB_Project\">Create OSB Project<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Login_OSB_web_console\">Login OSB web console<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_New_Session\">Create a New Session<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Import_Resources\">Import Resources<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Save_Changes\">Save Changes<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Create_Business_Service\">Create Business Service<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_New_Session_1\">Create a New Session<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_Project_Folders\">Create Project Folders<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Import_WSDL_Resources_from_URL\">Import WSDL Resources from URL<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_validatorForCC_Business_Service\">Create validatorForCC Business Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Enable_Monitoring\">Enable Monitoring<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Save_Changes_1\">Save Changes<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test_Business_Service\">Test Business Service<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Create_a_Proxy_Service\">Create a Proxy Service<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_a_New_Session_2\">Create a New Session<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Create_New_Proxy_Service\">Create New Proxy Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Setup_Proxy_Service_Route\">Setup Proxy Service Route<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Save_Session\">Save Session<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test\">Test<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Configure_Message_Flow\">Configure Message Flow<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Start_a_New_Session\">Start a New Session<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Add_Pipeline_Pair\">Add Pipeline Pair<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Add_Report_Stage\">Add Report Stage<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Add_Validate_Stage\">Add Validate Stage<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Add_Alert_Destination\">Add Alert Destination<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Add_Error_Handler\">Add Error Handler<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Save_Session_1\">Save Session<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Wire_POProcessing_App_to_use_Proxy_Service\">Wire POProcessing App to use Proxy Service<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Find_Proxy_Service_Endpoint_URI\">Find Proxy Service Endpoint URI<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Find_osb_server1_listen_port\">Find osb_server1 listen port<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Change_Composite_Application_to_use_Proxy_Service\">Change Composite Application to use Proxy Service<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Redeploy\">Redeploy<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Tests\">Tests<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test_with_Valid_Credit_Card_Number\">Test with Valid Credit Card Number<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#View_Report\">View Report<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Test_Invalid_Credit_Card_Number\">Test Invalid Credit Card Number<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#View_Report_1\">View Report<\/a>\n\t\t\t\t\t<\/li>\n<\/ol>\n<\/ol>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<p>This is part of the <a href=\"?p=1924\">Oracle SOA11g hands on tutorials<\/a>.<\/p>\n<span id=\"Create_OSB_Project\"><h2>Create OSB Project<\/h2><\/span>\n<span id=\"Login_OSB_web_console\"><h3>Login OSB web console<\/h3><\/span>\n<p>* Login OSB web console per OSB installation type. In this case, SOA domain was extended to support OSB, so the console URL is: <a href=\"http:\/\/localhost:7001\/sbconsole\"><strong>http:\/\/localhost:7001\/sbconsole<\/strong><\/a><\/p>\n<span id=\"Create_a_New_Session\"><h3>Create a New Session<\/h3><\/span>\n<p>* On Change Center (upper left)<br \/>\n&#8211; Click <strong>Create <\/strong>button to start a new session.<br \/>\n* Click <strong>Change Center -> Create button<\/strong> to create a new session.<\/p>\n<span id=\"Import_Resources\"><h3>Import Resources<\/h3><\/span>\n<p>* Click <strong>System Administration<\/strong> on the bottom of left hand side panel.<br \/>\n* Click <strong>Import Resources<\/strong>.<br \/>\n&#8211; Browse to <strong>C:\\po\\solutions\\ch11-OSB\\Lab 11 OSB starting sbconfig.jar<\/strong><br \/>\n&#8211; Click <strong>Next<\/strong>.<br \/>\n&#8211; Click <strong>Import<\/strong>.<\/p>\n<span id=\"Save_Changes\"><h3>Save Changes<\/h3><\/span>\n<p>* Click <strong>Activate <\/strong>button on Change Center panel.<br \/>\n* Enter<br \/>\n&#8211; Description: <strong>Import OSB project resource.<\/strong>.<br \/>\n* Click <strong>Submit<\/strong>.<\/p>\n<span id=\"Create_Business_Service\"><h2>Create Business Service<\/h2><\/span>\n<span id=\"Create_a_New_Session_1\"><h3>Create a New Session<\/h3><\/span>\n<p>* On Change Center (upper left)<br \/>\n&#8211; Click <strong>Create <\/strong>button to start a new session.<br \/>\n* Click <strong>Change Center -> Create button<\/strong> to create a new session.<\/p>\n<span id=\"Create_Project_Folders\"><h3>Create Project Folders<\/h3><\/span>\n<p>* Click <strong>Project Explorer<\/strong> on the left side panel.<br \/>\n* Click <strong>Projects <\/strong>link.<br \/>\n* Click <strong>Credit Services<\/strong> under Projects link<br \/>\n* Add <strong>ProxyServices <\/strong>folder on the right hand side pane.<br \/>\n&#8211; New Folder Name: <strong>ProxyServices<\/strong>.<br \/>\n&#8211; Click <strong>Add Folder<\/strong>.<br \/>\n* Add <strong>Resources <\/strong>folder on the right hand side pane.<br \/>\n&#8211; New Folder Name: <strong>Resources<\/strong>.<br \/>\n&#8211; Click <strong>Add Folder<\/strong>.<\/p>\n<span id=\"Import_WSDL_Resources_from_URL\"><h3>Import WSDL Resources from URL<\/h3><\/span>\n<p>* Click <strong>Resources<\/strong> link on the left panel.<br \/>\n* On the Create Resource drop down list<br \/>\n&#8211; Select <strong>Bulk -> Resources<\/strong> from URL<br \/>\n* On Load Resources page,<br \/>\nURL\/Path: <strong>http:\/\/localhost:8001\/soa-infra\/services\/default\/validationForCC\/getStatusByCC?WSDL<\/strong><br \/>\n(URL can be found from EM under SOA -> soa-infra -> default -> validationForCC[1.0])<br \/>\nResource Name: <strong>ValidateCredit_WSDL<\/strong><br \/>\nResource Type: <strong>WSDL<\/strong><br \/>\n&#8211; Click <strong>Next<\/strong>.<br \/>\n&#8211; Click <strong>Import<\/strong>.<\/p>\n<span id=\"Create_validatorForCC_Business_Service\"><h3>Create validatorForCC Business Service<\/h3><\/span>\n<p>* Click <strong>Project Explorer<\/strong> on the left side panel.<br \/>\n* Click <strong>Projects -> Credit Services -> BusinessServices<\/strong>link.<br \/>\n* On the Create Resource drop down list,<br \/>\n&#8211; Select <strong>Service -> Business Service<\/strong><br \/>\n* On General Configuration page,<br \/>\n&#8211; Service Name: <strong>validatorForCC<\/strong><br \/>\n&#8211; Service Type: <strong>WSDL Web Service<\/strong><br \/>\n&#8211; Click <strong>Browse&#8230;<\/strong> button to bring up SElect a WSDL Definition page.<br \/>\n~ Click <strong>ValidateCredit_WSDL<\/strong>.<br \/>\n~ Click <strong>execute_pt<\/strong>.<br \/>\n~ Click <strong>Submit<\/strong> button.<br \/>\n&#8211; Click <strong>Next <\/strong>buttons.<br \/>\n&#8211; Click <strong>Save<\/strong>.<\/p>\n<span id=\"Enable_Monitoring\"><h3>Enable Monitoring<\/h3><\/span>\n<p>* Back on <strong>Credit Services -> BusinessServices<\/strong> page.<br \/>\n* Click <strong>validateForCC <\/strong>in the Resources pane.<br \/>\n&#8211; Click <strong>Operational Settings<\/strong> tab.<br \/>\n&#8211; Enable Monitoring by checking <strong>Enabled<\/strong> check box.<br \/>\n&#8211; Set aggregation Interval to <strong>25 mins<\/strong>.<br \/>\n&#8211; Click <strong>Update <\/strong>button.<\/p>\n<span id=\"Save_Changes_1\"><h3>Save Changes<\/h3><\/span>\n<p>* Click <strong>Activate <\/strong>button on Change Center panel.<br \/>\n* Enter<br \/>\n&#8211; Description: <strong>Add new business service for validatorForCC<\/strong>.<br \/>\n* Click <strong>Submit<\/strong>.<\/p>\n<span id=\"Test_Business_Service\"><h3>Test Business Service<\/h3><\/span>\n<p>* Back on <strong>Credit Services -> BusinessServices<\/strong> page.<br \/>\n* Click the &#8220;Launce Test Console&#8221; <strong>debug icon<\/strong> to the right of validatorForCC in the Resources panel.<br \/>\n* Enter payload message<\/p>\n<pre lang=\"xml\">\r\n<cca:creditcardStatusRequest xmlns:cca=\"http:\/\/www.globalcompany.com\/ns\/CCAuthorizationService\">\r\n    <cca:CCNumber>1234-1234-1234-1234<\/cca:CCNumber>\r\n<\/cca:creditcardStatusRequest>\r\n<\/pre>\n<p>* Click <strong>Execute <\/strong>button.<br \/>\n* Review that Response Document returns VALID for th ecreditcardStatus field<\/p>\n<pre lang=\"xml\">\r\n<inp1:creditcardStatus xmlns:inp1=\"http:\/\/www.globalcompany.com\/ns\/CCAuthorizationService\">VALID<\/inp1:creditcardStatus>\r\n<\/pre>\n<span id=\"Create_a_Proxy_Service\"><h2>Create a Proxy Service<\/h2><\/span>\n<span id=\"Create_a_New_Session_2\"><h3>Create a New Session<\/h3><\/span>\n<p>* On Change Center (upper left)<br \/>\n&#8211; Click <strong>Create <\/strong>button to start a new session.<\/p>\n<span id=\"Create_New_Proxy_Service\"><h3>Create New Proxy Service<\/h3><\/span>\n<p>* Click <strong>Projects -> ProxyServices<\/strong> in the Project Explorer pane.<br \/>\n* On Create Resource drop down list, select <strong>Proxy Service<\/strong>.<br \/>\n* Enter<br \/>\n&#8211; Service Name: <strong>ValidateCredit<\/strong><br \/>\n&#8211; Description: <strong>Validate credit card web service.<\/strong><br \/>\n&#8211; Service Type: <strong>WSDL Web Service<\/strong><br \/>\n* Browse and select <strong>ValidateCredit_WSDL<\/strong><br \/>\n&#8211; Select <strong>execute_pt<\/strong><br \/>\n&#8211; Click <strong>Submit<\/strong><br \/>\n* Click <strong>Next<\/strong><br \/>\n&#8211; Protocol: <strong>http<\/strong><br \/>\n&#8211; Endpoint URI: <strong>\/Credit_Services\/ProxyServices\/ValidateCredit<\/strong><br \/>\n* Click <strong>Next <\/strong>buttons until summary page.<br \/>\n* Click <strong>Save<\/strong>.<\/p>\n<span id=\"Setup_Proxy_Service_Route\"><h3>Setup Proxy Service Route<\/h3><\/span>\n<p>* Back on <strong>ProxyServices <\/strong>page.<br \/>\n* Click on the <strong>Edit Message Flow<\/strong> icon to the right of newly created ValidateCredit proxy service to bring up the Edit Message Flow page.<br \/>\n* Click <strong>Edit <\/strong>button on the bottom of the page if the flow already exist.<br \/>\n* Click on <strong>ValidateCredit <\/strong>icon.<br \/>\n&#8211; Select <strong>Add Route<\/strong>.<br \/>\n* Click on <strong>RouteNode1 <\/strong>icon.<br \/>\n&#8211; Select <strong>Edit Name and Comments<\/strong>.<br \/>\n&#8211; Set Name to:  <strong>RouteTo_validationForCC<\/strong><br \/>\n&#8211; Click <strong>Save<\/strong>.<br \/>\n* Click on  <strong>RouteTo_validationForCC<\/strong>.<br \/>\n&#8211; Select <strong>Edit Route<\/strong>.<br \/>\n* Click <strong>Add an Action<\/strong>.<br \/>\n&#8211; Select <strong>Communication -> Routing<\/strong>.<br \/>\n* Click on <strong>Service <\/strong>link<br \/>\n&#8211; Select <strong>validatorForCC<\/strong>.<br \/>\n&#8211; Click <strong>Submit<\/strong>.<br \/>\n* Select <strong>Use Inbound operation for outbound<\/strong>.<br \/>\n* Click <strong>Save All<\/strong> button.<\/p>\n<span id=\"Save_Session\"><h3>Save Session<\/h3><\/span>\n<p>* Click <strong>Activate <\/strong>button in Change Center panel.<br \/>\n* Enter<br \/>\nDescription: <strong>Add ValidateCredit proxy service.<\/strong><br \/>\n* Click <strong>Submit<\/strong>.<\/p>\n<span id=\"Test\"><h3>Test<\/h3><\/span>\n<p>* Click <strong>ProxyServices <\/strong>in the Project Explorer pane.<br \/>\n* Click the Launch Test Console <strong>debug icon<\/strong> to the right of ValidateCredit proxy service.<br \/>\n* Enter payload message<\/p>\n<pre lang=\"xml\">\r\n<cca:creditcardStatusRequest xmlns:cca=\"http:\/\/www.globalcompany.com\/ns\/CCAuthorizationService\">\r\n    <cca:CCNumber>1234-1234-1234-1234<\/cca:CCNumber>\r\n<\/cca:creditcardStatusRequest>\r\n<\/pre>\n<p>* Click <strong>Execute <\/strong>button.<br \/>\n* Review that Response Document returns VALID for the creditcardStatus field<\/p>\n<pre lang=\"xml\">\r\n<inp1:creditcardStatus xmlns:inp1=\"http:\/\/www.globalcompany.com\/ns\/CCAuthorizationService\">VALID<\/inp1:creditcardStatus>\r\n<\/pre>\n<span id=\"Configure_Message_Flow\"><h2>Configure Message Flow<\/h2><\/span>\n<span id=\"Start_a_New_Session\"><h3>Start a New Session<\/h3><\/span>\n<p>* On Change Center (upper left)<br \/>\n&#8211; Click <strong>Create <\/strong>button to start a new session.<\/p>\n<span id=\"Add_Pipeline_Pair\"><h4>Add Pipeline Pair<\/h4><\/span>\n<p>* Click <strong>Projects -> Credit Services -> ProxyServices<\/strong> in project Explorer panel.<br \/>\n* Click the <strong>Edit Message Flow<\/strong> icon to the right of the ValidateCredit proxy service to bring up the Edit Message Flow editor.<br \/>\n* Click <strong>ValidateCredit <\/strong>icon<br \/>\n&#8211; Select <strong>Add Pipeline Pair<\/strong>.<\/p>\n<span id=\"Add_Report_Stage\"><h4>Add Report Stage<\/h4><\/span>\n<p>* Click <strong>Request_Pipeline<\/strong>.<br \/>\n&#8211; Select <strong>Add Stage<\/strong>.<br \/>\n* Click on the new <strong>Stage1 <\/strong>icon.<br \/>\n&#8211; Select <strong>Edit Stage<\/strong>.<br \/>\n* Click <strong>Add Action -> Reporting -> Report<\/strong>.<br \/>\n* Click <strong>Expression <\/strong>and<br \/>\n&#8211; enter XQuery Text: <strong>$body<\/strong><br \/>\n&#8211; Click <strong>Save<\/strong>.<br \/>\n* Click <strong>Add a Key<\/strong> link and enter:<br \/>\n&#8211; Key Name: <strong>CCNumber<\/strong><br \/>\n* Under Key Value, click XPath and enter:<br \/>\n&#8211; <strong>.\/cca:creditcardStatusRequest<\/strong><br \/>\n&#8211; Click <strong>Save<\/strong>.<br \/>\n* Under Key Value, enter<br \/>\n&#8211; in variable: <strong>body<\/strong><br \/>\n* Click <strong>Save<\/strong>.<\/p>\n<span id=\"Add_Validate_Stage\"><h4>Add Validate Stage<\/h4><\/span>\n<p>* Click <strong>Request_Pipeline<\/strong>.<br \/>\n&#8211; Select <strong>Add Stage<\/strong>.<br \/>\n* Click on the new <strong>Stage2 <\/strong>icon.<br \/>\n&#8211; Select <strong>Edit Stage<\/strong>.<br \/>\n* Click <strong>Add Action -> Message Processing -> Validate<\/strong>.<br \/>\n* Click <strong>XPath <\/strong>and enter:<br \/>\n&#8211; <strong>.\/*<\/strong><br \/>\n&#8211; Click <strong>Save<\/strong>.<br \/>\n* Enter in variable field:<br \/>\n&#8211; in variable: <strong>body<\/strong><br \/>\n* Click <strong>Resource<\/strong> after the word &#8220;against&#8221;.<br \/>\n* Click Schema to bring up the Select a XML Schema page.<br \/>\n&#8211; Click <strong>XMLSchema_<some number><\/strong> with path value of &#8220;Credit Services\/Resources&#8221;.<br \/>\n&#8211; Click <strong>creditcardStatusRequest<\/strong><br \/>\n&#8211; Click <strong>Submit<\/strong>.<br \/>\n* Check <strong>Raise Error on validation failure<\/strong>.<br \/>\n* Click <strong>Save <\/strong>button.<\/p>\n<span id=\"Add_Alert_Destination\"><h3>Add Alert Destination<\/h3><\/span>\n<p>* Click <strong>Projects -> Credit Services -> Resources<\/strong>.<br \/>\n* Click <strong>Create Resource<\/strong> drop down list.<br \/>\n&#8211; Select<strong> Utility -> Alert Destination<\/strong>.<br \/>\n* Enter<br \/>\nResource Name: <strong>InvalidCreditAlertDestination<\/strong><br \/>\nResource Description: <strong>Invalid credit alert destination.<\/strong><br \/>\n* Click <strong>Save<\/strong>.<\/p>\n<span id=\"Add_Error_Handler\"><h4>Add Error Handler<\/h4><\/span>\n<p>* Click <strong>ValidateCredit <\/strong>icon.<br \/>\n&#8211; Select <strong>Add Server Error Handler<\/strong>.<br \/>\n* Click on <strong>Error Handler<\/strong> icon.<br \/>\n&#8211; Select <strong>Add Stage<\/strong>.<br \/>\n* Click on newly added <strong>stage1 <\/strong>icon.<br \/>\n&#8211; Select <strong>Edit Stage<\/strong>.<br \/>\n* Click <strong>Add an Action -> Reporting -> Alert<\/strong>.<br \/>\n* Click <strong>Destination <\/strong>link,<br \/>\n&#8211; Select: <strong>InvalidCreditAlertDestination<\/strong><br \/>\n&#8211; Click <strong>Submit<\/strong> button.<br \/>\n* Click <strong>Expression<\/strong> link and enter:<br \/>\n&#8211; XQuery Text: <strong>$body<\/strong><br \/>\n&#8211; Click <strong>Save<\/strong> button.<br \/>\n* Enter:<br \/>\n&#8211; and alert-summary: <strong>Credit validation error<\/strong><br \/>\n&#8211; at severity level: <strong>Critical<\/strong><br \/>\n* Click <strong>Save<\/strong> three times.<\/p>\n<span id=\"Save_Session_1\"><h3>Save Session<\/h3><\/span>\n<p>* Click <strong>Activate <\/strong>button in Change Center panel.<br \/>\n* Enter<br \/>\nDescription: <strong>Configure ValidateCredit proxy service message flow.<\/strong><br \/>\n* Click <strong>Submit<\/strong>.<\/p>\n<span id=\"Wire_POProcessing_App_to_use_Proxy_Service\"><h2>Wire POProcessing App to use Proxy Service<\/h2><\/span>\n<span id=\"Find_Proxy_Service_Endpoint_URI\"><h3>Find Proxy Service Endpoint URI<\/h3><\/span>\n<p>* Click <strong>Projects -> Credit Services -> ProxyServices<\/strong> in Project Explorer pane.<br \/>\n* Click <strong>ValidateCredit<\/strong> proxy service in Resources pane<br \/>\n* Find Endpoint URI:<\/p>\n<pre>\r\n\/Credit_Services\/ProxyServices\/ValidateCredit\r\n<\/pre>\n<span id=\"Find_osb_server1_listen_port\"><h3>Find osb_server1 listen port<\/h3><\/span>\n<p>&#8211; Login WebLogic Server Admin Console<br \/>\n&#8211; Click <strong>soa_domain -> Environment -> Servers<\/strong> in the Domain Structure pane<br \/>\n&#8211; Find osb_server1 Listen Port, e.g. <strong>8011<\/strong>.<br \/>\n* So ValidateCredit proxy service URL is:<br \/>\n<a href=\"http:\/\/localhost:8011\/Credit_Services\/ProxyServices\/ValidateCredit?WSDL\">http:\/\/localhost:8011\/Credit_Services\/ProxyServices\/ValidateCredit?WSDL<\/a><\/p>\n<span id=\"Change_Composite_Application_to_use_Proxy_Service\"><h3>Change Composite Application to use Proxy Service<\/h3><\/span>\n<p>* Open POProcessing <strong>composite.xml<\/strong> file<br \/>\n* Right click <strong>getCreditCardStatus <\/strong>partner link to bring up the Update Reference dialog.<br \/>\n* Change the WSDL URL<br \/>\nfrom<br \/>\n<strong>http:\/\/localhost:8001\/soa-infra\/services\/default\/validationForCC!1.0\/getStatusByCC.wsdl<\/strong><br \/>\nto<br \/>\n<strong>http:\/\/localhost:8011\/Credit_Services\/ProxyServices\/ValidateCredit?WSDL<\/strong><br \/>\n* Click <strong>OK<\/strong>.<br \/>\n* Save All.<\/p>\n<span id=\"Redeploy\"><h3>Redeploy<\/h3><\/span>\n<p>* Redeploy POProcessing application.<\/p>\n<span id=\"Tests\"><h2>Tests<\/h2><\/span>\n<span id=\"Test_with_Valid_Credit_Card_Number\"><h3>Test with Valid Credit Card Number<\/h3><\/span>\n<p>* Login EM.<br \/>\n* Test with input message that contains a valid credit card number:<\/p>\n<pre lang=\"xml\">\r\n<soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\">\r\n    <soap:Body xmlns:ns1=\"http:\/\/xmlns.oracle.com\/ns\/order\">\r\n        <ns1:PurchaseOrder>\r\n            <ns1:CustID>1111<\/ns1:CustID>\r\n            <ns1:ID>2222<\/ns1:ID>\r\n            <ns1:productName>iPod shuffle<\/ns1:productName>\r\n            <ns1:itemType>Electronics<\/ns1:itemType>\r\n            <ns1:price>145<\/ns1:price>\r\n            <ns1:quantity>30<\/ns1:quantity>\r\n            <ns1:status>Initial<\/ns1:status>\r\n            <ns1:ccType>Mastercard<\/ns1:ccType>\r\n            <ns1:ccNumber>1234-1234-1234-1234<\/ns1:ccNumber>\r\n        <\/ns1:PurchaseOrder>\r\n    <\/soap:Body>\r\n<\/soap:Envelope>\r\n<\/pre>\n<span id=\"View_Report\"><h4>View Report<\/h4><\/span>\n<p>* Login OSB web console.<br \/>\n* In left side panel, click <strong>Operations -> Reporting -> Message Reports<\/strong>.<br \/>\n* Click an entry in Report Index column, e.g. <strong>CCNumber= 1234-1234-1234-1234<\/strong>, to view message details.<br \/>\n* Click <strong>Operations -> Monitoring -> Dashboard<\/strong>.<br \/>\n* Click <strong>Pipeline Alerts<\/strong> to check that there is no Pipeline alerts.<\/p>\n<span id=\"Test_Invalid_Credit_Card_Number\"><h3>Test Invalid Credit Card Number<\/h3><\/span>\n<p>* Login OSB console.<br \/>\n* Click <strong>Project Explorer -> ProxyServices<\/strong>.<br \/>\n* Click <strong>Launch Test Console<\/strong> debug icon for ValidateCredit proxy service.<br \/>\n* Simulate invalid XML payload by changing <strong>cca:CCNumber<\/strong> to <strong>cca:CCNumber1<\/strong>:<\/p>\n<pre lang=\"xml\">\r\n<cca:creditcardStatusRequest xmlns:cca=\"http:\/\/www.globalcompany.com\/ns\/CCAuthorizationService\">\r\n    <cca:CCNumber1>string<\/cca:CCNumber1>\r\n<\/cca:creditcardStatusRequest>\r\n<\/pre>\n<p>* Click <strong>Execute<\/strong>.<br \/>\n* View error messages.<br \/>\n* Click <strong>Close<\/strong>.<\/p>\n<span id=\"View_Report_1\"><h4>View Report<\/h4><\/span>\n<p>* Login OSB web console.<br \/>\n* In left side panel, click <strong>Operations -> Monitoring -> Dashboard<\/strong>.<br \/>\n* Click <strong>Pipeline Alerts<\/strong> to check Pipeline alerts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is part of the Oracle SOA11g hands on tutorials. Create OSB Project Login OSB web console * Login OSB web console per OSB installation type. In this case, SOA domain was extended to support OSB, so the console URL &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=2557\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[100],"tags":[],"class_list":["post-2557","post","type-post","status-publish","format-standard","hentry","category-soa11g"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-Ff","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2557"}],"version-history":[{"count":19,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2557\/revisions"}],"predecessor-version":[{"id":10647,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/2557\/revisions\/10647"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}