Socket
Book a DemoInstallSign in
Socket

soap-graphql

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

soap-graphql

Create a GraphQL schema from a WSDL-defined SOAP endpoint.

1.1.0
latest
Source
npmnpm
Version published
Weekly downloads
58
241.18%
Maintainers
1
Weekly downloads
 
Created
Source

soap-graphql

Create a GraphQL schema from a WSDL-defined SOAP endpoint.

The created GraphQL schema contains all types declared in the WSDL and provides all operations of the SOAP endpoint as GraphQL mutation fields. This enables you to re-publish a SOAP endpoint as a GraphQL server. This might be convenient for clients, that already handle GraphQL and do not want to handle SOAP. But note: The existence of this package should not necessarily encourage you to do this ... but it is possible.

This package is fully dependend on the node-soap package. It will only work in a Node.js environment.

Checkout soap-graphql-demo for a quick demo.

Example (TypeScript)

import * as express from 'express';
import * as expressGraphql from 'express-graphql';
import { GraphQLSchema } from 'graphql';
import { soapGraphqlSchema } from 'soap-graphql';

soapGraphqlSchema("http://<<url to wsdl>>").then((schema: GraphQLSchema) => {

    const app: express.Application = express();
    app.use('/graphql', expressGraphql({
        schema: schema,
        graphiql: true,
    }));

    app.listen(4000, () => { console.log(`serving graphql on http://localhost:4000/graphql`) });

});

Usage

Main entry point is the function soapGraphqlSchema(options: SoapGraphqlOptions | string): Promise<GraphQLSchema>

See code comments for more details.

Limitations and Issues

Supported WSDLs

There is no guarantee that this package will work with every valid WSDL.

node-soap-graphql.spec lists SOAP endpoints that were tested with this package. It also shows how to configure custom behavior for SOAP endpoints.

Feel free to post an issue (or better yet: create a pull request with a test case) if this package does not work with your SOAP endpoint.

XSD features

WSDL, and especially the XSD-based schema section, allows a wide variety of options to define primitive types. Handling of these options are only implemented in the most basic way; see DefaultTypeResolver.

In most cases you can handle the specifics of your SOAP endpoint by implementing a CustomTypeResolver.

Keywords

soap

FAQs

Package last updated on 12 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.