Skip to main contentSkip to search
Powered by Zoomin Software. For more details please contactZoomin
Progress DocumentationProgress Documentation
Progress Documentation
  • Home
  • Home
  • EnglishČeštinaDeutsch (Germany)Español (Spain)法語Italiano (Italy)Português (Brasil)日本語Русский (Russia)中文 (简体) (China)中文 (繁體, 台灣) (Taiwan)ar-AR
  • Login

OpenEdge Development: Web Services

Tools for REST application development and management

Save PDF
Save selected topicSave selected topic and subtopicsSave all topics
Share
Share to emailCopy topic URL
Print
Table of Contents
  • Introduction
    • Web Services in OpenEdge
      • Web services
      • Comparing OpenEdge support for SOAP WSA and REST Web services
      • Choosing between SOAP and REST in OpenEdge
    • Overview of REST Web services in OpenEdge
      • Standards supported by OpenEdge REST Web Services
        • HTTP
        • JSON
      • REST Web service architecture in OpenEdge
      • Tools for REST application development and management
        • Progress Developer Studio for OpenEdge
        • OpenEdge Management (OEM) and OpenEdge Explorer (OEE)
        • RESTMAN
      • Creating OpenEdge REST applications
        • Planning
        • Configuring an AppServer
        • Creating a REST project
        • Creating an AppServer REST service interface
        • Creating REST Web services
        • Adding static resources to your project
        • Generating an OpenEdge REST application
        • Testing the REST application on an Apache Tomcat Web server
        • Deploying the REST application
      • Clients for OpenEdge REST Web services
    • Overview of SOAP Web services in OpenEdge
      • Standards supported by OpenEdge SOAP Web services
        • WSDL files
        • SOAP
          • SOAP message formats
          • SOAP message document structure
        • XML Schema
      • SOAP Web service architecture in OpenEdge
      • Creating OpenEdge SOAP Web services
        • Defining requirements
          • Session models
          • SOAP message formats
          • WSA and server security options
        • Defining the Web service in ProxyGen
        • Deploying a SOAP Web service
          • Writing a client and testing a SOAP Web service
          • Documenting client programming requirements
        • Putting the SOAP Web service into production
          • Tuning the Web service and its WSA instance
      • Creating ABL clients to consume SOAP Web services
        • Obtain the Web service's WSDL and documentation
        • Run the WSDL Analyzer
        • Build your client
          • Comparing access to AppServers and Web services
        • Test your client
      • Sample of consuming a SOAP Web service
  • Creating OpenEdge REST Web Services
    • REST Applications
      • REST annotations in ABL code
        • Main REST annotations
        • Internal REST annotations
        • Annotation examples
          • External Procedure
          • Internal procedure
      • REST services in OpenEdge
        • Planning the URI structure of a REST service
          • Create services
          • Export WAR
          • Deploy application
        • Adding REST resources to a service
          • The service-relative URI
          • Path parameters
          • Query parameters
          • HTTP verbs
        • Procedure mapping examples
      • Parameter mapping
        • Input parameter mapping
        • Supported input parameter mappings
        • Output parameter mapping
        • Supported output parameter mappings
      • JSON input and output message formats
        • JSON input (request) messages
        • JSON output (response) messages
      • The structure of REST application WAR files
      • Manually Adding Additional Services to a REST Application
      • Errors and exceptions
    • REST Application Security
      • Security considerations
      • Java Servlet Container managed security
      • REST application managed security
      • AppServer application managed security
      • Data-in-transit network security
      • REST Manager security
    • Data Object Services
      • Overview of Data Object Services
      • Coding Business Entities to implement Data Objects
        • Singleton classes and procedures as Data Object resources
        • Coding ABL routines to implement a Data Object resource
        • Creating an ABL class with the New Business Entity wizard
        • Using existing ABL code with the Define Service Interface wizard
        • Coding ABL for Data Object operations
        • Sample Business Entity with before-image support
        • Sample Business Entity without before-image support
        • Updates to allow access by Kendo UI DataSources and Rollbase external objects
          • Understanding the JSON Filter Pattern (JFP)
          • Adding the Count operation method
          • Sample Read operation updated to handle JFP input and server paging
      • URIs for accessing Data Object Web applications, Services, and resources
        • Data Object URIs for client app access
        • Data Object URIs for testing resources from REST clients
        • Using a REST client to execute a Data Object operation
  • Creating OpenEdge SOAP Web Services
    • Exposing AppServer Applications as OpenEdge SOAP Web Services
      • Deciding how to expose your application
        • Web service objects and the WSDL file
          • Object representation
          • Object binding
          • Deployment information
        • Session Models and object IDs
          • Session models
          • How object IDs support session models
          • How session models affect Web service objects
        • SOAP message formats
          • SOAP formats supported by OpenEdge Web services
      • Enabling the AppServer application
      • Define and deploy a Web service definition
        • Configure a Web Service Adapter instance
        • Install WSA on a DMZ server
      • Distributing your WSDL file
    • Building Clients for OpenEdge SOAP Web services
      • Creating client interfaces from WSDL
        • WSDL element overview for OpenEdge Web services
      • SOAP format impact on generated client interfaces
        • Method signatures
        • Method return values
      • Client programming for different session models
        • Programming clients for session-managed Web services
        • Programming clients for session-free Web services
      • Overview of calling methods on Web service objects
        • Client interface methods for session-managed AppObjects
        • Client interface methods for session-free AppObjects
        • Client interface methods for SubAppObjects and ProcObjects
          • ProcObject methods
          • SubAppObject methods
      • Retrieving and sending object IDs: handling SOAP headers
        • Defining object IDs in WSDL
        • Using object IDs in a SOAP message
      • Defining and passing Web service method parameters
        • Client data type mapping
        • Relational data types
        • Date and time data
        • Dedicated ABL data types
        • Array parameters
          • Fixed arrays
      • Mapping relational data
        • Defining TABLE (static temp-table) parameters
        • Defining TABLE-HANDLE (dynamic temp-table) parameters
        • Defining DATASET (static ProDataSet) parameters
        • Defining DATASET-HANDLE (dynamic ProDataSet) parameters
        • Additional considerations
          • Including before-image data
          • Name collisions
          • R-code header changes
      • Mapping ABL procedures to SOAP messages
        • ABL procedure prototype to WSDL operation
        • WSDL operation to client method prototype
        • Client method call to SOAP request/response message pair
      • Handling Web service errors and SOAP faults
        • Client programming for SOAP faults
    • Sample Code with SOAP Messages for OpenEdge Web Services
      • Sample Web service specifications
      • Consume a session-managed Web service
      • Consume a session-free Web service
      • Run an ABL non-persistent procedure
      • Create and use a ProcObject
        • ProcObject session context
        • ProcObject IDs
        • ProcObject class factory methods
      • Run an internal procedure or user-defined function
      • Release an object
      • Pass static and dynamic temp-table parameters
        • Invoke a method with a TABLE parameter
        • Invoke a method with a TABLE-HANDLE parameter
      • Process a SOAP fault message
      • Pass static and dynamic ProDataSet parameters
        • Invoke a method with a DATASET parameter
        • Invoke a method with a DATASET-HANDLE parameter
    • Test and debug OpenEdge SOAP Web Services
      • Test the ABL application as a Web service
        • Unit testing from ABL
        • Testing from a Web services client
      • Error information levels
        • WSA and Web service logging level properties
        • Logging information
        • Hints for setting the WSA loggingLevel property
        • Hints for setting the Web service serviceLoggingLevel property
        • Set logging level properties
      • Identifying relevant log files
      • SOAP faults
        • Set the serviceFaultLevel property
        • Typical SOAP fault response message
          • WSA's <errorMessage> element
          • WSA's <requestID> element
        • Handle SOAP faults programmatically
      • Use a SOAP message viewer
        • Configure and run WSAViewer
      • Identify errors
        • How the WSA logs Web service information
        • Errors occurring in WSA administration requests
        • Errors occurring in Web service application requests
          • Client-side errors
          • Server-side errors
      • Sample error scenarios
        • Scenario 1: Web service deployed but not enabled
        • Scenario 2: ABL updated, but Web service not redeployed
        • Scenario 3: Web service deployed but the server is not running
  • Creating ABL Clients to Consume OpenEdge SOAP Web Services
    • Create an ABL Client from WSDL
      • Basics of an ABL client to consume Web services
      • Use the WSDL Analyzer
        • Running the WSDL Analyzer
        • Understanding the WSDL Analyzer output
          • Index and Service pages
          • Operation index page
          • Port type page
          • Data types page
        • Analyzing wrapped document literal
          • Wrapped form
          • Unwrapped form
          • WSDL Analyzer documentation options
          • Programming options
        • Analyzing complex data
          • Web service operation parameter documentation
          • SOAP header entry and SOAP fault detail documentation
      • Map XML Schema data types to ABL data types
        • Simple data types
          • Suggested mappings
          • Interacting with XML Schema data formats
        • Arrays
        • Complex data types
    • Connecting to OpenEdge SOAP Web Services from ABL
      • What is a Web service connection?
      • Binding to a Web service
        • Creating a server object handle
        • Binding to a server object handle
          • Connection parameters
          • Using HTTPS
          • Invoking the binding
          • Binding results
      • Managing Web service bindings
        • Accessing a port type for a Web service
        • Accessing multiple port types
        • Accessing multiple port types simultaneously
    • Invoking OpenEdge SOAP Web Service Operations from ABL
      • Preparing to invoke operations
        • Creating a Web service procedure object
      • Invoking operations
        • Using the RUN statement
        • Using a user-defined function
      • Managing operation parameters
      • Managing complex data
        • Types of complex data
          • Complex data type parameters
          • Complex data in SOAP headers and SOAP faults
        • Complex data example
        • Coding options for wrapped document literal
          • Using the wrapped form
          • Using the unwrapped form
      • Managing asynchronous requests
        • Supported asynchronous Web service requests
        • Order of completion
        • Asynchronous request object handle
        • Results handling
    • Handling SOAP Message Headers in ABL
      • SOAP message headers: an overview
        • SOAP header structure
          • Accessing the SOAP header
          • Requirements for header handlers
        • SOAP header object model
        • Accessing SOAP header entries
          • Accessing a SOAP response header
          • Creating a SOAP request header
        • Specifying SOAP header callback procedures at run time
        • Using the SET-CALLBACK-PROCEDURE( ) method
      • Defining header handlers
        • Defining a response header handler
        • Defining a request header handler
      • Invoking a header handler
      • Creating and managing SOAP message headers
        • Reusing an unchanged SOAP response header
          • Response header handler for returning a header for reuse
          • Request header handler for reusing a header
        • Modifying a reused SOAP response header
          • Request header handler for reusing and modifying a header
        • Using a client-created SOAP request header
          • Procedure to create a SOAP request header
          • Request header handler for passing a globally-created header object
      • Managing memory for SOAP headers
        • SOAP header object model and DOM relationships
        • Memory for the SOAP header object model and DOM
      • Attributes and methods for handling SOAP headers
        • SOAP header object attributes and methods
        • SOAP header-entryref object attributes and methods
    • Handling Errors in ABL Requests to OpenEdge SOAP Web Services
      • Handling SOAP faults
      • Detecting a SOAP fault
        • SOAP faults with traditional error handling
        • SOAP faults with structured error handling
      • Managing a SOAP fault
      • Examples of ABL accessing a SOAP fault
        • Traditional error handling example
        • Structured error handling example
        • Asynchronous call error handling example
      • Debugging ABL applications that call Web services
        • SOAP Viewers
        • Using WSAViewer
          • Using WSAViewer with an ABL client
  • Develop a .NET Client to Consume OpenEdge SOAP Web Services
    • What is Microsoft .NET?
    • Using .NET as your Web services client
    • VB.NET sample Web service specifications
    • Creating the VB.NET client interface
      • Adding a Web reference
      • Reference.vb: Web service client interface
      • Reference.vb: Open Client objects
      • .NET data type mapping
      • Accessing parameter data
      • TABLE (static temp-table) parameters
      • TABLE-HANDLE (dynamic temp-table) parameters
      • Sample interface object prototypes in Reference.vb
      • Sample common interface method prototypes in Reference.vb
      • Sample ABL and VB.NET interface method prototypes
        • Non-persistent procedure
        • Persistent procedure
        • User-defined function
        • Internal procedure passing a TABLE parameter
        • TABLE definition
        • External procedure passing a TABLE-HANDLE parameter
    • Developing the VB.NET client application
      • Creating the Web service
      • Running a non-persistent (external) procedure
      • Creating server-side context for a ProcObject (running a persistent procedure)
      • Running an internal procedure or user-defined function
      • Creating a SubAppObject
      • Releasing an object
      • Running a procedure with a TABLE parameter
      • Processing the data from a TABLE parameter
      • Running a procedure with a TABLE-HANDLE parameter
      • Preparing schema and data for input TABLE-HANDLE parameter
      • Processing schema and data for output TABLE-HANDLE parameter
      • Extra processing for RPC/Encoded TABLE-HANDLE parameters
      • Handling errors on the client
    • Creating .NET DataSets from ProDataSet parameters
    • Learning more about writing .NET clients
  • Develop a Java Client to Consume OpenEdge SOAP Web Services
    • Using Java client toolkits
    • Java sample Web service specifications
    • Creating Java Axis client interface objects
      • Generating client interface objects
      • Proxy directory structure
      • Proxy classes
      • Java data type mapping
      • Output parameters
      • ABL unknown values
      • TABLE (static temp-table) parameters
      • TABLE-HANDLE (dynamic temp-table) parameters
      • Sample Java prototypes for common object methods
      • Sample ABL and Java interface method prototypes
        • Non-persistent procedure
        • Persistent procedure
        • User-defined function
        • Internal procedure using a temp-table
        • Temp-table definition
        • External procedure passing a TABLE-HANDLE
    • Developing the Axis client application
      • Setting up the Web service objects
      • Using the sample PscObjectIDHandler and HandlerControlBlock classes
      • Setting up the PscObjectIDHandler objects
      • Connecting to a Web service
      • Running a non-persistent (external) procedure
      • Creating server-side context for a ProcObject (running a persistent procedure)
      • Running an internal procedure or user-defined function
      • Running an internal procedure with a TABLE parameter
      • Processing the data from a TABLE parameter
      • Running a procedure with a TABLE-HANDLE parameter
      • Using sample helper classes to manage TABLE-HANDLE parameters
      • Preparing schema and data for input TABLE-HANDLE parameters
      • Processing schema and data for output TABLE-HANDLE parameters
      • Releasing an object
      • Handling errors on the client
      • Compiling and running the client application
    • ProDataSet parameters in Java Web service clients
      • Proxy classes
      • DATASET (static ProDataSet) parameters
        • Before-image data
      • DATASET-HANDLE (dynamic ProDataSet) parameters
        • Before-image data
  • ABL Elements to Consume SOAP Web Services
    • Handles to consume a web service
    • Statements to consume SOAP web services
    • Attributes, methods, and events to consume a web service
  • Data Type Conversion Rules for ABL Calls to SOAP Web Services
    • Data type casting
    • CHARACTER or LONGCHAR
    • DATE
    • DATETIME
    • DATETIME-TZ
    • DECIMAL
    • INT64
    • INTEGER
    • LOGICAL
    • MEMPTR or RAW
  • WSDL Details
    • ABL procedure prototype to WSDL operation
    • Array mapping in WSDL documents
      • Doc/Lit
      • RPC/Literal
      • RPC/Encoded
    • Define TABLE (static temp-table) parameters
    • Define TABLE-HANDLE (dynamic temp-table) parameters
    • Define DATASET (static ProDataSet) parameters
      • Include before-image data
      • Use NAMESPACE-URI attributes
    • Define DATASET-HANDLE (dynamic ProDataSet) parameters
  • The WSDL Analyzer
    • bprowsdldoc
Table of Contents

Tools for REST application development and management

Save PDF
Save selected topicSave selected topic and subtopicsSave all topics
Share
Share to emailCopy topic URL
Print
  • Last Updated: March 30, 2020
  • 1 minute read
    • OpenEdge
    • Version 12.2
    • Documentation

This section contains a brief description of the tools that support REST application development in OpenEdge.

Contents
  • Progress Developer Studio for OpenEdge
  • OpenEdge Management (OEM) and OpenEdge Explorer (OEE)
  • RESTMAN
TitleResults for “How to create a CRG?”Also Available inAlert