Page History
...
Recall the URL of the file copy service:
...
http://localhost:8080/lansa-tutorial/files/copy
The base URL for file services' path has an additional path component 'files'. So in the SetupUrlBuilder method of the ExternalFileServices, you need to append 'files' to the URL:
Mthroutine Name(SetupUrlBuilder) Options(*REDEFINE) * Invoke the ancestor's SetupUrlBuilder first #COM_ANCESTOR.SetupUrlBuilder UrlBuilder(#UrlBuilder) * Now this class' implementation #UrlBuilder.AddPathComponent( 'files' ) Endroutine
Let's now implement the copy method in our RDMLX reusable part.
Mthroutine Name(Copy) * Parameters Define_Map For(*INPUT) Class(#PRIM_DC.UnicodeString) Name(#SourcePath) Define_Map For(*INPUT) Class(#PRIM_DC.UnicodeString) Name(#TargetPath) * Variables Define_Com Class(#XPRIM_UriBuilder) Name(#Url) Define_Com Class(#XPRIM_HttpRequest) Name(#Request) * Setup the URL's base properties #COM_SELF.SetupUrlBuilder Urlbuilder(#Url) * Add the 'copy' path component #Url.AddPathComponent Pathcomponent('copy') * Add the form parameters #Request.Content.AddUrlEncodedFormValue Name('sourcePath') Value(#SourcePath) #Request.Content.AddUrlEncodedFormValue Name('targetPath') Value(#TargetPath) * Execute the HTTP request #Request.DoPost Url(#Url) Endroutine