Pacific WebSpeed WebHandler based JSDO Generic Service

Pacific WebSpeed WebHandler based JSDO Generic Service

Starting the June 3rd 2016 release we support a WebHandler based generic service for JSDO based clients.

Configuration

WebHandler configuration from the openedge.properties file:

[smartpas.ROOT.WEB] adapterEnabled=1 defaultCookieDomain= defaultCookiePath= defaultHandler=OpenEdge.Web.CompatibilityHandler handler1=Consultingwerk.OERA.JsdoGenericService.WebHandler.CatalogWebHandler: /Catalog/{EntityName} handler2=Consultingwerk.OERA.JsdoGenericService.WebHandler.CountWebHandler: /Resource/{EntityName}/count handler3=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceSubmitWebHandler: /Resource/{EntityName}/SubmitData handler4=Consultingwerk.OERA.JsdoGenericService.WebHandler.InvokeMethodWebHandler: /Resource/{EntityName}/{MethodName} handler5=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceWebHandler: /Resource/{EntityName} srvrAppMode=development srvrDebug=1 wsRoot=/static/webspeed

 Settings from .restapplicationsettings file:

{ "RestServiceName": "web", "RestServiceAddress": "\/Resource", }

 

Sample requests

Samples based on CustomerBusinessEntity:

Retrieving the Catalog

http://localhost:8820/web/Catalog/Consultingwerk.SmartComponentsDemo.OERA.Sports2000.CustomerBusinessEntity

GetCount of Customers where SalesRep = "BBB"

http://localhost:8820/web/Resource/Consultingwerk.SmartComponentsDemo.OERA.Sports2000.CustomerBusinessEntity/count?filter=

{"ablFilter": "salesrep EQ 'BBB'"}

CRUD operation for Customer

http://localhost:8820/web/Resource/Consultingwerk.SmartComponentsDemo.OERA.Sports2000.CustomerBusinessEntity

Header:

Content-Type = application/json

Body:
{ "dsCustomer": { "prods:hasChanges": true, "eCustomer": [ { "prods:id": "eCustomer147712", "prods:rowState": "created", "CustNum": 0, "Country": "GER", "Name": "Marko Rüterbories", "Address": "Unter Käster 1-3", "Address2": "", "City": "Köln", "State": "NRW", "PostalCode": "50667", "Contact": "Me", "Phone": "+49 (160) 7008229", "SalesRep": "BBB", "CreditLimit": 100999, "Balance": 0.0, "Terms": "Net30", "Discount": 45, "Comments": "This customer is on credit hold.", "Fax": "", "EmailAddress": "marko.rueterbories@consultingwerk.de", "Flags": "C", "SmartRecordKey": "", "SmartAttachments": true, "SmartComments": false, "SmartCopiedFrom": "", "id": "1", "seq": 1 } ], "prods:before": { "eCustomer": [ { "prods:id": "eCustomer147712", "prods:rowState": "created", "CustNum": 0, "Country": "", "Name": "", "Address": "", "Address2": "", "City": "", "State": "", "PostalCode": "", "Contact": "", "Phone": "", "SalesRep": "", "CreditLimit": 0.0, "Balance": 0, "Terms": "", "Discount": 0, "Comments": "", "Fax": "", "EmailAddress": "", "Flags": "", "SmartRecordKey": "", "SmartAttachments": true, "SmartComments": false, "SmartCopiedFrom": "", "id": "1", "seq": 1 } ] } } }

InvokeMethod of CustomerBusinessEntity

http://localhost:8820/web/Resource/Consultingwerk.SmartComponentsDemo.OERA.Sports2000.CustomerBusinessEntity/TestMethodMobile42

Header:

Content-Type = application/json

Body:
{ "plcParameter" : { "SerializedType": "Consultingwerk.CharacterHolder", "Value": "" } }