angular2-xmlrpc

An Angular service which provides XML-RPC communication methods

Usage no npm install needed!

<script type="module">
  import angular2Xmlrpc from 'https://cdn.skypack.dev/angular2-xmlrpc';
</script>

README

Angular2-Xmlrpc

An Angular (9+) service which provides XML-RPC communication methods.

This library was generated with Angular CLI version 11.2.6. Dependencies are requiring Angular 9, but this can probably be easily adapted to anything greater or equal to Angular 2.

This is actually a port from the AngularJS library Angular-Xmlrpc. NOTE: IE support has been dropped altogether.

Installation

npm install angular2-xmlrpc --save

How to use it ?

Configuration

First of all, add a dependency in your module:

import { XmlrpcModule } from 'angular2-xmlrpc'

@NgModule({
  ...
  imports: [
    ...
    XmlrpcModule
  ],
  ...
})
export class AppModule { }

You can use it in your application as any other service, and inject it in the constructor as usual.

import { XmlrpcService } from 'angular2-xmlrpc'

constructor(..., private xmlrpc:XmlrpcService, ...) {
}

XML-RPC Call

There is only one main method to call an XML-RPC method. In order to pass parameters, you have to wrap them in an array:

const xmlrpcCall = this.xmlrpc.callMethod(
  'http://localhost:8080/xmlrpc/endpoint',
  'method-name',
  ['string-param-1', 1, {'obj-param-3': {val1: 1, val2: 'x'}}]
)

The XML response from the server is wrapped in an Observable, and can be parsed to a JS object with the parseResponse method:

xmlrpcCall.subscribe(data => console.log(this.xmlrpc.parseResponse(data)))

Custom Headers

to set custom headers:

this.xmlrpc.setHeaders({
  'Custom-Header-1': 'Value-1',
  'Custom-Header-2': ['Value-2', 'Value-3', 'Value-4']
})
  • Note: this method returns an instance of HttpHeaders that will be used in the Angular HTTP request