Accessing Backend APIs Server-Side Development
3.1. Accessing Backend APIs
Example 4. ExampleServet.java package com.systinet.example.servlet; import org.idoox.wasp.Context; import org.idoox.wasp.InstanceNotFoundException; import org.systinet.uddi.InvalidParameterException; import org.systinet.uddi.client.v3.UDDIException; import org.systinet.uddi.client.v3.UDDI_Inquiry_PortType; import org.systinet.uddi.client.v3.struct.; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; public class ExampleServlet extends HttpServlet { public void doGetHttpServletRequest request, HttpServletResponse response throws IOException, ServletException { try { String searchedBusiness = request.getParametersbusiness; if searchedBusiness == null searchedBusiness = ; response.setContentTypetexthtml; PrintWriter out = response.getWriter; out.printlnHTML; out.printlnHEAD; out.printlnH1Example servlet integration with RegistryH1; out.printlnPEnter the business name you wish to search; out.printlnFORM METHOD=GET ACTION=waspmyexamples; out.printlnINPUT NAME=sbusiness SIZE=20 VALUE= + searchedBusiness + ; out.printlnINPUT TYPE=SUBMIT VALUE=Search; out.printlnFORM; get UDDI API V3 Inquiry implementation UDDI_Inquiry_PortType inquiry = UDDI_Inquiry_PortType Context.getInstanceUDDI_Inquiry_PortType.class; prepare find_business call Find_business find_business = new Find_business; if searchedBusiness.length 0 { find_business.addNamenew NamesearchedBusiness; out.printlnPSearching business : + searchedBusiness; call find_business BusinessList businessList = inquiry.find_businessfind_business; process the result BusinessInfoArrayList businessInfoArrayList = businessList.getBusinessInfoArrayList; if businessInfoArrayList == null { out.printlnPBNothing foundB; Page 5313.1. Accessing Backend APIs
} else { out.printlnPBusiness B+searchedBusiness+B found; for Iterator iterator = businessInfoArrayList.iterator; iterator.hasNext; { BusinessInfo businessInfo = BusinessInfo iterator.next; out.printlnPBusiness key : B + businessInfo.getBusinessKey+B; out.printlnPTEXTAREA ROWS=10 COLS=70; out.printlnbusinessInfo.toXML; out.printlnTEXTAREA; } } } out.printlnHTML; } catch InvalidParameterException e { } catch InstanceNotFoundException e { } catch UDDIException e { } } } Example 5. Example Servlets web.xml servlet servlet-nameExampleServletservlet-name servlet-classcom.systinet.example.servlet.ExampleServletservlet-class servlet servlet-mapping servlet-nameExampleServletservlet-name url-patternmyexamplesurl-pattern servlet-mapping3.2. Custom Registry Modules
In this section, we will show you how to extend Oracle Service Registry functionality with your custom modules. Custom modules can be added to Oracle Service Registry as shown in Figure 8 . Page 5323.2. Custom Registry Modules
Figure 8. Custom Registry Module - Architecture View To create and deploy a registry module, follow these steps: 1. Write a class that implements org.systinet.uddi.module.Module. 2. Copy your module implementation class to the directory REGISTRY_HOMEappuddiservicesWASP-INFclasses. 3. Create a configuration file for the module in REGISTRY_HOMEappuddiconf. 4. Shutdown Oracle Service Registry, delete the REGISTRY_HOMEwork directory, and restart the registry. The main class of the custom module must implement org.systinet.uddi.module.Module interface that has these methods: • load is invoked as the first method of the module. You can put reading of the configuration file in here. • init is invoked after the load method. Put the core implementation of your module in here. Write non-blocking code or start a new thread. • destroy is invoked just before the Oracle Service Registry shutdown.3.2.1. Accessing Registry APIs
To access the Oracle Service Registry API you must obtain the API stub using the getApiInstance method of the API implementation class. For example to obtain the stub of the Statistics API use: StatisticsApi statapi = StatisticsApiImpl.getApiInstance; Mapping between API interface classes and implementation classes is stored in the REGISTRY_HOMEappuddiservicesWASP-INFpackage.xml file. See Table 53, “Mapping API Interface and Implemenation Classes” . Page 5333.2.1. Accessing Registry APIs
Parts
» OSR11gR1ProductDocumentation
» Oracle Service Registry Features Overview
» UDDI Version 3 Specification Known Issues
» UDDI Version 2 Specification Database
» Supported Platforms OSR11gR1ProductDocumentation
» Specifications OSR11gR1ProductDocumentation
» Document Conventions OSR11gR1ProductDocumentation
» The Apache XML Security License, Version 1.1
» The Apache XML License, Version 1.1
» Apache Jakarta License, Version 1.1
» CUP Parser Generator Third Party Licenses
» Jetty License, Version 3.6 Third Party Licenses
» W3C Software Notice and License
» Xalan, Version 2.5.1 Third Party Licenses
» XML Pull Parser for Java, 1.1.1
» Support OSR11gR1ProductDocumentation
» Java™ Platform System Requirements
» Relational Database System Requirements
» Installation Type SMTP Configuration
» Setup Administrator Account Database Settings
» Application Server Settings Installation Panels
» Confirmation and Installation Process
» Clustering Oracle Service Registry with Oracle WebLogic Server
» Directory Structure Installation Summary
» Registry Endpoints Installation Summary
» Setup Signer Command-line Scripts
» Registry Installation Options Command-line Options Reconfiguring After Installation
» Using the syslog Daemon with Oracle Service Registry
» Running Oracle Service Registry as a UNIX Daemon
» Database Creation Method Database Installation
» Oracle Data Source Creation JDBC Driver
» Account Backend Database Installation
» Oracle MSSQL DB2 Multilingual Data
» Alternative JDBC Drivers JDBC Drivers
» Discovery Registry Installation Publication Registry Installation
» Intermediate Registry Installation Approval Process Registry Installation
» LDAP with a Single Search Base
» LDAP with Multiple Search Bases
» LDAP Configuration Examples Oracle Internet Directory with Single Search Base
» Custom Non-LDAP External Accounts Integration
» Cluster operation Cluster Configuration
» Cluster installation Cluster Configuration
» Sharing Token Key Setting Up Security
» WebLogic specific configuration for use with cluster
» HTTP Basic Authentication Configuration
» Netegrity SiteMinder Authentication Configuration
» SSL Client authentication with Embedded HTTPHTTPS Server
» SSL Client Authentication in Oracle WebLogic
» Internal SSL Client Authentication Mapping in J2EE
» Disabling Normal Authentication Authentication Configuration
» Consoles Configuration Authentication Configuration
» Outgoing Connections Protected with SSL Client Authentication
» Uninstallation OSR11gR1ProductDocumentation
» UDDIs Role in the Web Services World - UDDI Benefits
» Typical Application of a UDDI Registry
» UDDI Data Model Basic Concepts of the UDDI Specification
» Taxonomic Classifications Basic Concepts of the UDDI Specification
» Security Considerations Notification and Subscription
» Replication Basic Concepts of the UDDI Specification
» UDDI APIs Basic Concepts of the UDDI Specification
» Technical Notes Basic Concepts of the UDDI Specification
» Subscription Arguments Subscriptions in Oracle Service Registry
» Suppressing Empty Notifications Subscriptions in Oracle Service Registry
» Requestors Actions Approval Process in Oracle Service Registry
» Approvers Actions Approval Process in Oracle Service Registry
» Synchronization of Data Approval Process in Oracle Service Registry
» Mail notification in approval process
» Related Links Approval Process in Oracle Service Registry
» Registry Consoles OSR11gR1ProductDocumentation
» Demo Data for Business Service Control
» Demo data for Registry Control and demos
» Overview Business Service Control
» User Profile Fields The My Profile tab has the following fields:
» Searching Providers Searching Endpoints
» Reports Business Service Control
» Subscription On Selected Entities Subscription from Search Query
» Requestors Actions Approval Process
» Approvers Actions Approval Process
» Explicit Permissions Data Access Control: Principles
» Permission Rules Data Access Control: Principles
» Composite Operations Data Access Control: Principles
» Pre-installed Groups Data Access Control: Principles
» ACL tModels Data Access Control: Principles
» Setting ACLs on UDDI v3 Structures
» Setting ACLs on UDDI v1v2 Structures
» Generating Keys Publisher-Assigned Keys
» Affiliations of Registries Publisher-Assigned Keys
» Taxonomy Types Taxonomy: Principles, Creation and Validation
» Validation of Values Taxonomy: Principles, Creation and Validation
» Types of keyValues Taxonomy: Principles, Creation and Validation
» Taxonomy API Taxonomy: Principles, Creation and Validation
» Predeployed Taxonomies Taxonomy: Principles, Creation and Validation
» RegisterCreate Account Register Registry Console Reference
» Main Menu Tabs Browse Menu Bar
» Tree Display Area Main Display Area
» Display Tabs Action Icons Action Icons Context Menu
» Browsing Registry Console Reference
» Publishing Registry Console Reference
» Starting the Signer Main Screen
» Signer Configuration Signer Tool
» Integrating with Oracle JDeveloper
» How To Configure the Inquiry URL, UDDI Service Key, and Endpoint Address for Runtime
» Integrating with Oracle Enterprise Repository
» Integrating wih Oracle Service Bus
» Enabling Dynamic Lookup of BPEL Partner Link Endpoints
» Enabling Dynamic Lookup of ESB SOAP Endpoints Integrating with Oracle Web Services Manager WSM
» Create Account Account Management
» Accessing Permission Management Permissions
» Editing and Deleting Permissions
» Adding Taxonomies Taxonomy Management
» Understanding Replication Replication Management
» Master Registry Setup Replication Management
» Slave Registry Setup Replication Management
» Create Requestor Approval Process Management
» Replacing tModel keys Replacing UDDI Keys
» Replace URLs Registry Statistics
» Current configurations and their history View configuration
» Named collections of configuration List of named collections
» Core Config Database Registry Configuration
» Security Account Registry Configuration
» Group Subscription Registry Configuration
» Paging Limits Figure 46. Business Service Control Configuration - Paging Limits UI Configuration
» Customizable Taxonomies Business Service Control Configuration
» Customizing Individual Pages Business Service Control Configuration
» Web Interface Configuration Figure 54. Registry Console Configuration - Web Interface Tab
» Paging Configuration Figure 55. Registry Console Configuration - Paging Tab
» Permissions Definitions Permissions: Principles
» Oracle Service Registry Permission Rules
» Setting Permissions Permissions: Principles
» Permissions and User Roles ApiManagerPermission Reference
» Requestor Approval Process Roles
» Approver Approval Process Roles
» autoApprover Approval Process Roles
» Administrator Approval Process Roles
» Optional Content Checking Setup
» Commands Description PStore Tool
» Open Next Protected Store Copy Data Between Protected Stores
» User Store PStore Tool - GUI Version
» Associating an SSL client identity with a registry client
» WSDL PortTypes WSDL Bindings
» UDDI Version 2 UDDI Version 3 UDDI Version 3 Extension
» Administration Utilities Advanced APIs
» Replication Statistics Advanced APIs
» WSDL Publishing Advanced APIs
» XML Publishing Advanced APIs
» XSD Publishing Advanced APIs
» XSLT Publishing Advanced APIs
» Client Package Registry Client
» JARs on the Client Classpath
» Example Client Client Authentication
» Accessing Backend APIs Server-Side Development
» Accessing Registry APIs Custom Registry Modules
» Custom Module Sample Custom Registry Modules
» Creating and Deploying Interceptors
» Logging Interceptor Sample Interceptors
» Request Counter Interceptor Sample
» Deploying Validation Service Writing a Custom Validation Service
» External Validation Service Writing a Custom Validation Service
» Sample Files Writing a Subscription Notification Service
» Architecture Description Registry Web Framework
» Directory Structure Registry Web Framework
» Framework Configuration Registry Web Framework
» Where can I find the code which generates the page header?
» How do I change the text displayed on a pages title bar?
» Where is the right place to include my own JavaScript files?
» Where is it possible to change the text displayed in the page footer?
» Business Service Control Localization
» Directory Structure Business Service Control Framework
» Business Service Control Configuration
» Entity Configuration Business Service Control Framework
» Permission support Business Service Control Framework
» Components and Tags Business Service Control Framework
» Connecting to Oracle Service Registry from JDeveloper
» Running SOAPSpy SOAPSpy Tool
» Prerequisites and Preparatory Steps: Code
» Presentation and Functional Presentation
Show more