npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wsdl-web

v0.10.1

Published

A web-based WSDL explorer and SOAP client. Use as a standalone page, embed via script tag, or include as a React component.

Readme

WSDL Web

CI

A browser-based interactive explorer for SOAP/WSDL web services. Enter a WSDL URL to inspect its services, endpoints, bindings and operations, then invoke them directly from the browser with auto-generated SOAP requests.

Think Swagger UI, but for SOAP/WSDL.

Try it live →

No install required.

Or run with Docker

docker run -p 8080:80 outofcoffee/wsdl-web

Then open http://localhost:8080 in your browser.

Operation detail with SOAP envelope

Features

  • WSDL 1.1 and 2.0 support with automatic version detection
  • SOAP 1.1 and 1.2 envelope generation and invocation
  • Document and RPC binding styles
  • Auto-generated SOAP requests from XSD type definitions, with sample values pre-filled
  • "Try it out" mode — edit the generated XML, then execute the request and see the response
  • Syntax-highlighted XML for requests and responses
  • SOAP Fault display — detects <soap:Fault> in responses and renders faultcode, faultstring, and detail in a structured format
  • Response metadata — HTTP status, response time, full response body
  • Copy as cURL — copy the SOAP request as a ready-to-use cURL command
  • Inline documentation — displays <wsdl:documentation> from services and operations
  • Custom request headers — add headers like Authorization, API keys, or WS-Security tokens to requests
  • Base URL override — redirect requests to a different host (e.g. localhost)
  • Local file support — browse and load WSDL files from your device
  • Import/include resolution — recursive fetching and merging of <wsdl:import>, <xsd:import>, and <xsd:include> across multiple files
  • Multiple WSDL support — load multiple WSDLs and switch between them from a dropdown in the top bar
  • Deep linking — shareable URLs with ?url= to pre-load a WSDL and #service/endpoint/operation to jump to a specific operation

Documentation

View documentation →

See an example: Sample WSDL

Screenshots

Exploring a WSDL service

Load a WSDL to see its services, endpoints and operations with auto-generated SOAP request envelopes and syntax highlighting.

Operation detail with SOAP envelope

Try it out

Edit the request XML and execute it directly from the browser.

Try it out mode

Usage

  1. Open the app in your browser.
  2. Enter a WSDL URL in the top bar and click Explore (or press Enter).
  3. The WSDL is fetched and parsed. You'll see the service name, target namespace, and a list of endpoint groups.
  4. Expand an endpoint group to see its operations.
  5. Click an operation to see its details: endpoint address, SOAPAction, binding style, and a pre-generated SOAP request envelope.
  6. Click Try it out to make the request editable.
  7. Modify the XML if needed, then click Execute to send the SOAP request.
  8. The response (status code, timing, and body XML) is displayed below.

Deep linking

Share a URL that pre-loads a WSDL and navigates to a specific operation:

https://wsdl-web.github.io/?url=https://example.com/service?wsdl#ServiceName/PortName/OperationName
  • ?url=<wsdl-url> loads the WSDL automatically
  • ?url=<url1>&url=<url2> loads multiple WSDLs with a spec switcher dropdown
  • #Service/Endpoint/Operation expands the target group and operation
  • #Service/Endpoint expands just the endpoint group

The URL updates as you navigate, so you can copy it from the address bar at any time.

CORS

SOAP services typically don't set CORS headers, so requests from the browser may be blocked. If this happens, you can:

  • Run a local CORS proxy such as cors-anywhere and prefix your endpoint URL with the proxy address.
  • Use a browser extension that adds CORS headers.
  • Serve the app from the same origin as the SOAP service.

The same applies when fetching the WSDL itself — if the WSDL URL doesn't allow cross-origin requests, you'll need to proxy it.

Embedding

You can embed wsdl-web into your own application or website:

  • Standalone web bundle — drop a <script> tag into any HTML page, no build step required. Download the standalone zip from Releases and call WsdlWeb.init().
  • npm package — use the <WsdlWeb /> React component in your own project. Install with npm install wsdl-web.

Both options support configuration for pre-loading a WSDL URL, hiding UI controls, and overriding the base endpoint URL. See the linked guides for full API details and examples.

Building from source

Requires Node.js 24+.

# Install dependencies
npm install

# Start the development server
npm run dev

# Run tests
npm test

# Build for production
npm run build

The production build is output to dist/. Serve it with any static file server.

Supported by Mocks Cloud

This project is supported by Mocks Cloud — instant cloud-hosted mocks from your OpenAPI specs and WSDL files. Upload a spec, get a live mock endpoint in seconds. Powered by the Imposter open source mock engine.

License

Apache 2.0