Coming up! Version 0.7-preview is out now! Check out the release notes.

On this page

Exact Globe+ Integration

Exact Globe+ (previously known as Globe Next) exposes an API layer that Portway can put a friendly gateway in front of. Through proxy endpoints, your external applications talk to Globe+ data and services, while environment-specific headers route each request to the correct database instance.

Note

Globe+ uses Windows/NTLM authentication. When you deploy in IIS, setting the Application Pool Identity to a domain user with Globe+ permissions gives Portway the access it needs

Overview

The Exact Globe+ integration uses Portway's proxy endpoints to forward requests to the internal Globe+ REST services. Each request carries its environment configuration. That is how data ends up coming from the correct database and server.

Configuration requirements

Environment headers

All requests to Globe+ endpoints require two critical headers that are automatically added based on the environment:

Header Description Example
DatabaseName The Globe+ database identifier 500, 700
ServerName The server hosting Globe+ YOUR-SERVER

These headers are configured in the environment settings and automatically injected into proxy requests.

Environment settings

Each environment needs to be configured in its settings:

environments/500/settings.json
json
{
  "ServerName": "YOUR-SERVER",
  "ConnectionString": "Server=YOUR-SERVER;Database=500;Trusted_Connection=True;",
  "Headers": {
    "DatabaseName": "500",
    "ServerName": "YOUR-SERVER",
    "Origin": "Portway"
  }
}

Available Globe+ endpoints

Proxy endpoints

Each Globe+ service you want to expose gets a proxy endpoint definition. The endpoint URL points at the internal Globe+ REST service, and the environment headers above route it to the right database:

endpoints/Proxy/Account/entity.json
json
{
  "Url": "http://localhost:8020/services/Exact.Entity.REST.EG/Account",
  "Methods": ["GET", "POST", "PUT", "DELETE"],
  "SupportsOData": true,
  "AllowedEnvironments": ["500", "700"]
}

Composite endpoints

These endpoints handle complex operations that require multiple related transactions:

Sales order creation

http
POST /api/{env}/composite/SalesOrder
Content-Type: application/json

{
  "Header": {
    "OrderDebtor": "60093",
    "YourReference": "Connect async"
  },
  "Lines": [
    {
      "Itemcode": "ITEM-001",
      "Quantity": 2,
      "Price": 0
    },
    {
      "Itemcode": "ITEM-002",
      "Quantity": 4,
      "Price": 0
    }
  ]
}

This composite endpoint:

  1. Creates sales order lines with a shared TransactionKey
  2. Creates the sales order header using the same key
  3. Returns the complete order information

Financial entry creation

http
POST /api/{env}/composite/FinancialEntry
Content-Type: application/json

{
  "Header": {
    "Journal": "90",
    "Description": "Invoice payment"
  },
  "Lines": [
    {
      "GLAccount": "1000",
      "Amount": 1000,
      "Description": "Payment received"
    },
    {
      "GLAccount": "1300", 
      "Amount": -1000,
      "Description": "AR clearing"
    }
  ]
}

This composite endpoint:

  1. Creates financial lines with a shared TransactionKey
  2. Creates the financial header to complete the transaction
  3. Ensures balanced entries

Authentication with Globe+

The proxy endpoints handle Globe+ authentication transparently:

  1. Requests are forwarded with Windows authentication
  2. The service account running Portway needs Globe+ access
  3. Individual API tokens control access to specific endpoints

Error handling

Globe+ specific error responses are preserved and forwarded:

json
// Globe+ validation error
{
  "error": {
    "code": "ValidationError",
    "message": "Customer 60093 not found",
    "details": {
      "field": "OrderDebtor",
      "value": "60093"
    }
  }
}

URL rewriting

Portway automatically rewrites Globe+ URLs in responses to maintain proxy routing:

  • Original: http://localhost:8020/services/Exact.Entity.REST.EG/Account(guid'123')
  • Rewritten: https://api.company.com/api/500/Account(guid'123')

Transaction management

TransactionKey handling

Composite endpoints manage TransactionKey automatically:

  1. A unique GUID is generated for the transaction
  2. The key is applied to all related records
  3. Globe+ processes the records as a single unit

Atomic operations

Composite endpoints ensure atomicity:

  • The operation completes only when every step succeeds
  • Failures in any step roll back the entire transaction
  • Detailed error information is provided for troubleshooting

Troubleshooting

Symptom Check
Authentication failures (401/403) Service account permissions in Globe+; NTLM enabled on IIS Application Pool; correct domain user bound
Transaction errors Globe+ application logs; locked records; re-use same TransactionKey UUID across all lines in a composite
Missing data in responses Environment headers (DatabaseName, ServerName) correctly set in settings.json
URL links in responses broken URL rewriting is automatic and follows the incoming request scheme. Behind a TLS-terminating proxy, add it to ForwardedHeaders:KnownProxies or KnownNetworks so the scheme survives
Last updated: 2026-09-07