When you migrate clients from accessing the classic AppServer or its adapters to accessing PAS for OpenEdge, search for the statements or routines that invoke the connection code and ensure that it uses an appropriate URL to connect to the ABL web application, including a transport, service, and resource path appropriate to the client type.

For ABL clients, this is the CONNECT() method on the server object handle used to access the PAS for OpenEdge instance. For OpenEdge Java and .NET Open Clients, you pass a set of parameters to the Connection object constructor. URLs for these clients use the APSV transport, but no service and resource path.

For OpenEdge SOAP web service clients, the WSDL file that you deploy provides the URL information for SOAP web service clients to access its service objects. Connection URLs for these clients use the SOAP transport followed by a WSDL path that includes a URL query parameter to specify the web service object to access.

OpenEdge REST web service clients connect with a URL that uses the REST transport followed by a URI path that identifies the service and resource. The format of the URL does not change from accessing the same REST web service implemented on the classic AppServer. You can thus configure a PAS for OpenEdge instance and ABL web application so that existing REST web service clients can use URLs that are identical to the URLs they used to access the same REST web services running on the classic AppServer.

In general, the URL that you use to access an ABL web application must conform to the following syntax:

Syntax

instance/[oeabl-web-application/]transport[/service-resource]
instance
Specifies the PAS for OpenEdge instance to connect with using the following syntax:

Syntax

scheme://[username:passphrase@]host:port
scheme
Specifies either HTTP or HTTPS.
Note: Internet-secure connections to a PAS for OpenEdge instance using HTTPS must have a certificate store for public key certificates on the client (SSL client) and a certificate and key store for private keys and certificates on the PAS for OpenEdge instance (SSL server). For information on configuring both OpenEdge clients and PAS for OpenEdge instances for HTTPS connections, see Digital Certificate Management in Migrate Classic AppServer Applications to PAS for OpenEdge. Other SOAP clients and REST clients (such as web browsers) have their own tools for managing certificate stores.
[username:passphrase@]
Specifies any user login credentials required to connect to the specified ABL web application using the specified transport on the PAS for OpenEdge instance, according to the authentication model configured for the transport. If the authentication model is Anonymous, no user credentials are required. If the model is HTTP Basic or HTTP Forms, you must provide a valid username (username) and password (passphrase) known to the user account systems configured for the transport. Also, SOAP and REST clients often use an API to pass the user credentials in an authentication header of the HTTP message, in which case you do not need to specify them in the URL. Note that any user credentials you specify in the URL are passed in this authentication header of the HTTP message. However, to protect them, always use HTTPS for the life of the connection.
Note: The APSV and SOAP transports support only Anonymous and HTTP Basic authentication (not HTTP Forms).
For OpenEdge clients using the APSV transport (ABL and Open Clients), you can separately pass the same, or different, user credentials in a client-principal object, or if the connection is session-managed, as connection parameters to the PAS for OpenEdge Connect procedure. In this case, the ABL application on the server typically manages the authentication of these separate credentials at a secondary level, after authentication succeeds on the server.
For more information, see the topics about using a client-principal and the Connect procedure in Access the connection ID on a session-managed client in Migrate Classic AppServer Applications to PAS for OpenEdge.
host
Specifies the name or domain of the PAS for OpenEdge host.
port
Specifies the port for the host connection. Typically, HTTP uses 8810 and HTTPS uses 8811.
[web-application/]

Specifies the OpenEdge ABL web application with which to connect. If web-app-name is not specified, a connection to the default OpenEdge ABL web application (ROOT) is used.

transport
Specifies the transport for the connection using the following syntax:

Syntax

apsv|soap|rest|web
apsv
Specifies the APSV transport used by ABL clients and Java and .NET Open Clients.
soap
Specifies the SOAP transport used by both ABL and external SOAP web service clients.
rest
Specifies the REST transport used by REST adapter clients, which primarily include web browser applications and apps running in mobile devices, such as Rollbase® and mobile apps accessing OpenEdge Data Object Services.
web
Specifies the WEB transport used by new REST clients and migrated WebSpeed clients using the compatibility handler.
service-resource
Supported only for the OpenEdge SOAP and REST transports, this specifies a OpenEdge SOAP or REST web service and its associated resource to access using the following syntax:

Syntax

wsdl?targetURI=urn:[SOAPnamespace:]SOAPsvc-name|RESTsvc-name/resource-path
[SOAPnamespace:]SOAPsvc-name
Specifies a URI that identifies the namespace for SOAP web services defined in the WSDL file (SOAPnamespace) and the name of a service (SOAPsvc-name) to access, as defined in the WSDL file. SOAPsvc-name can also identify the service by itself if there is only one web service defined in the WSDL file.
RESTsvc-name/resource-path
Specifies a URI path that identifies the name of a REST web service (RESTsvc-name) and the REST resource (resource-path) to access. The resource-path can include query parameters for the resource as well.

For more information about the formation of URIs for accessing OpenEdge SOAP, REST, and WEB services, see Develop ABL services.

In addition to specifying the URL for an ABL web application, the client connection must specify the application model that PAS for OpenEdge and its business application is expected to execute. This is done for each transport and client type when it connects to PAS for OpenEdge. It is the same thing as specifying the session model when you connect to the classic AppServer:
  • APSV transport — For ABL clients, by setting the -sessionModel connection parameter of the CONNECT( ) method; for Java and .NET Open Clients, by setting the appropriate Open Client proxy property.
  • SOAP transport — The application model must be specified for the OpenEdge SOAP web service when you define it in ProxyGen and is included in the WSDL file that you generate for client access. SOAP clients need to be written only to support the application model for which the web service is defined and for which the implementing business application on PAS for OpenEdge is written to support.
  • REST transport — The application model is session-free to execute OpenEdge REST web service requests. All REST clients need to be written to support only session-free access.
  • WEB transport — The application model is session-free to execute OpenEdge WebSpeed client requests. All REST clients need to be written to support only session-free access.

For more information on migrating client connections from accessing classic AppServer services to access corresponding services of PAS for OpenEdge ABL web applications, see the following topics: