PHPackages                             wsdltophp/packagegenerator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. wsdltophp/packagegenerator

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

wsdltophp/packagegenerator
==========================

Generate hierarchical PHP classes based on a WSDL

4.1.17(2mo ago)4351.9M—9.6%75[23 issues](https://github.com/WsdlToPhp/PackageGenerator/issues)[1 PRs](https://github.com/WsdlToPhp/PackageGenerator/pulls)18MITPHPPHP &gt;=7.4CI passing

Since Jun 4Pushed 2mo ago16 watchersCompare

[ Source](https://github.com/WsdlToPhp/PackageGenerator)[ Packagist](https://packagist.org/packages/wsdltophp/packagegenerator)[ Docs](https://github.com/WsdlToPhp/PackageGenerator)[ RSS](/packages/wsdltophp-packagegenerator/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (20)Versions (133)Used By (18)

Package Generator
=================

[](#package-generator)

> Package Generator generates a PHP SDK from any WSDL.

[![License](https://camo.githubusercontent.com/47a9defc64f4079a4e7edc94ce47e41dfb32913a00e450ab03e6d259b9c0c98f/68747470733a2f2f706f7365722e707567782e6f72672f7773646c746f7068702f7061636b61676567656e657261746f722f6c6963656e7365)](https://packagist.org/packages/wsdltophp/packagegenerator)[![Latest Stable Version](https://camo.githubusercontent.com/94d2e5139c6200f466b4b7887b499670ab11adaf525dec57888f3d5cf42cd6ac/68747470733a2f2f706f7365722e707567782e6f72672f7773646c746f7068702f7061636b61676567656e657261746f722f76657273696f6e2e706e67)](https://packagist.org/packages/wsdltophp/packagegenerator)[![TeamCity build status](https://camo.githubusercontent.com/68cf8fa80f525f61ab9bb172cbb09881e9204902d74191834475746221cdfc85/68747470733a2f2f7465616d636974792e6d696b61656c2d64656c736f6c2e66722f6170702f726573742f6275696c64732f6275696c64547970653a69643a5061636b61676547656e657261746f725f4275696c642f73746174757349636f6e2e737667)](https://github.com/WsdlToPhp/PackageGenerator)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/0d7ab24040be3fcba60d1324ca33dd59aad855e97c103c2e020f96f81ba64720/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5773646c546f5068702f5061636b61676547656e657261746f722f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/WsdlToPhp/PackageGenerator/)[![Code Coverage](https://camo.githubusercontent.com/8c7cdab9eaa81f28ec7407a1ca1f294c9340cbd1b2ed31160575004cd7f458aa/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5773646c546f5068702f5061636b61676547656e657261746f722f6261646765732f636f7665726167652e706e67)](https://scrutinizer-ci.com/g/WsdlToPhp/PackageGenerator/)[![Total Downloads](https://camo.githubusercontent.com/9fb118c50607248e66279e2b183ea79086b6b68178e75f7ec679001cb49ccc25/68747470733a2f2f706f7365722e707567782e6f72672f7773646c746f7068702f7061636b61676567656e657261746f722f646f776e6c6f616473)](https://packagist.org/packages/wsdltophp/packagegenerator)[![StyleCI](https://camo.githubusercontent.com/8af8fff3cd85bb89cb66c376ec1ecc57eadfb3854d080e6802baa7b5a25d90a4/68747470733a2f2f7374796c6563692e696f2f7265706f732f33353636303533322f736869656c64)](https://styleci.io/repos/35660532)[![SymfonyInsight](https://camo.githubusercontent.com/a27689c24ba7c14f29872081a6457cb22e5e5e4b7c6d2a258f02e15f153e7f37/68747470733a2f2f696e73696768742e73796d666f6e792e636f6d2f70726f6a656374732f37336563376561362d613737312d343837612d386562652d3731663662326538666434612f6d696e692e737667)](https://insight.symfony.com/projects/73ec7ea6-a771-487a-8ebe-71f6b2e8fd4a)

Package Generator generates a PHP SDK from any WSDL so you can easily consume any SOAP Web Service without wondering how SOAP is used under the hood.

Package Generator provides many options to generate your package even if a few are required. This project has been tested with many WSDL and is currently used on the platform [Providr.IO](https://providr.io).

Package Generator generates files that are detailed in the [MANIFEST](/MANIFEST.md). **You are encouraged to read it to understand how and why the files are generated in addition to the way the generated classes are supposed to be used.**

Installation
------------

[](#installation)

### In a project:

[](#in-a-project)

```
composer require wsdltophp/packagegenerator --dev
```

### With command line:

[](#with-command-line)

```
$ wget https://phar.wsdltophp.com/wsdltophp-php7.phar
$ chmod +x wsdltophp-php7.phar
$ mv wsdltophp-php7.phar /usr/local/bin/wsdltophp
```

### With Docker:

[](#with-docker)

```
$ docker run --rm -it mikaelcom/wsdltophp:tagname
```

Usage
-----

[](#usage)

There is two ways to generate your package (apart from being in a project and generating it through the command line):

- **standalone** (*default behaviour*): this means the package is generated as an independent project with its own `composer.json` file. At the end of the generation, the root directory where the package has been generated will contain the `composer.json`, the `composer.lock` file and the `vendor` directory.
- **not standalone**: this means the package is generated as part of an existing project using its own `composer.json` file.

The `standalone` option is fully detailed in the [Standalone section](https://github.com/WsdlToPhp/PackageGenerator/wiki/Options#standalone).

All the options are fully detailed in the [Options page](https://github.com/WsdlToPhp/PackageGenerator/wiki/Options).

### In a project:

[](#in-a-project-1)

```
use WsdlToPhp\PackageGenerator\ConfigurationReader\GeneratorOptions;
use WsdlToPhp\PackageGenerator\Generator\Generator;

// Options definition: the configuration file parameter is optional
$options = GeneratorOptions::instance(/* '/path/file.yml' */);
$options
    ->setOrigin('http://developer.ebay.com/webservices/latest/ebaySvc.wsdl')
    ->setDestination('./MySdk')
    ->setComposerName('myproject/mysdk');
// Generator instantiation
$generator = new Generator($options);
// Package generation
$generator->generatePackage();
```

### With command line:

[](#with-command-line-1)

The command line is:

```
$ wsdltophp generate:package \
    --urlorpath="http://developer.ebay.com/webservices/latest/ebaySvc.wsdl" \
    --destination="./MySdk" \
    --composer-name="myproject/mysdk" \
    --force
```

*In order to see all the used options, just remove the `--force` argument.*

### With Docker:

[](#with-docker-1)

Such as with the command line above, simply use the `docker run` command line before:

```
$ docker run --rm -it --volume $PWD:/var/www mikaelcom/wsdltophp:tagname generate:package \
    --urlorpath="http://developer.ebay.com/webservices/latest/ebaySvc.wsdl" \
    --destination="/var/www/MySdk" \
    --composer-name="myproject/mysdk" \
    --force
```

*In order to see all the used options, just remove the `--force` argument.*

Versions
--------

[](#versions)

### 4.0

[](#40)

First released on 03 April 2021, maintained until version 6.0 is released. Please read the [UPGRADE-4.0](UPGRADE-4.0.md) note in order to acknowledge the main changes.

### 3.0

[](#30)

First released on 04 May 2018, maintained until version 5.0 is released. Please read the [UPGRADE-3.0](UPGRADE-3.0.md) note in order to acknowledge the main changes.

**NOT MAINTAINED ANYMORE**: even if version 5 is not published nor is expected soon, maintaining 2 versions, especially for an old PHP version, is time consuming, sorry for the people who would be still using it which would encounter issues fixed in the latest version.

### 2.0

[](#20)

**Not maintained since 03 April 2021.**

First released on 29 Apr 2016, maintained until version 4.0 is released.

### 1.0

[](#10)

Not maintained anymore

Testing
-------

[](#testing)

```
# launch all tests
$ phpunit

# launch a testsuite: command, configuration, utils, model, container, parser, file, packagegenerator
$ phpunit --testsuite=model
```

Testing using [Docker](https://www.docker.com/)
-----------------------------------------------

[](#testing-using-docker)

Thanks to the [Docker image](https://hub.docker.com/r/splitbrain/phpfarm) of [phpfarm](https://github.com/fpoirotte/phpfarm), tests can be run locally under *any* PHP version using the cli:

- php-7.4

First of all, you need to create your container which you can do using [docker-compose](https://docs.docker.com/compose/) by running the below command line from the root directory of the project:

```
$ make build up
```

You then have a container named `package_generator` in which you can run `composer` commands and `php cli` commands such as:

```
# install deps in container (using update ensure it does use the composer.lock file if there is any)
$ make update
# run tests in container
$ make phpunit
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details. In addition, code documentation is at [doc.wsdltophp.com](http://doc.wsdltophp.com).

Credits
-------

[](#credits)

Developers who helped on this project are listed in the [composer.json](composer.json#L8) file as `Contributor` and are:

- [Gemorroj](https://github.com/Gemorroj)
- [ceeram](https://github.com/ceeram)
- [Georgiy Oganisyan](https://github.com/GroxExMachine)
- [Jan Zaeske](https://github.com/jzaeske)
- [Tom Mottram](https://github.com/tomp4l)
- [Catirau Mihail](https://github.com/ustmaestro)
- [Alexander M. Turek](https://github.com/derrabus)
- [Valérian Girard](https://github.com/waldo2188)
- [hordijk](https://github.com/hordijk)
- [Andreas Möller](https://github.com/localheinz)
- [Andreas Kintzinger](https://github.com/Phobetor)
- [Hendrik Luup](https://github.com/hluup)
- [Jacob Dreesen](https://github.com/jdreesen)
- [Clifford Vickrey](https://github.com/cliffordvickrey)
- [Arnaud POINTET](https://github.com/Oipnet)
- [dypa](https://github.com/dypa)
- [tbreuss](https://github.com/tbreuss)
- [Paul Melekhov](https://github.com/gugglegum)
- [Alex Krátký](https://github.com/AlexKratky)
- [Michel Tomas](https://github.com/superbiche)
- [Kai Dederichs](https://github.com/KDederichs)

FAQ
---

[](#faq)

If you have any question, please read the [Options page](https://github.com/WsdlToPhp/PackageGenerator/wiki/Options) about the available options to generate the package.

There is also a [FAQ](https://github.com/WsdlToPhp/PackageGenerator/wiki/FAQ) that contains miscellaneous questions about the package generation and its usage.

Then if you still have a question, feel free to [create an issue](https://github.com/WsdlToPhp/PackageGenerator/issues/new).

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

70

—

ExcellentBetter than 100% of packages

Maintenance86

Actively maintained with recent releases

Popularity62

Solid adoption and visibility

Community40

Growing community involvement

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 97.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Recently: every ~158 days

Total

125

Last Release

63d ago

Major Versions

3.3.7 → 4.0.22021-05-18

3.4.0 → 4.1.02021-07-13

3.4.1 → 4.1.12021-07-14

3.4.2 → 4.1.22022-02-11

3.x-dev → 4.1.32022-02-11

PHP version history (6 changes)0.0.2PHP &gt;=5.3.3

2.0.0PHP &gt;=5.5.9

2.7.0PHP &gt;=5.3.3 || &gt;=5.5.9

2.8.0PHP &gt;=5.4.0 || &gt;=5.5.9

2.11.4PHP &gt;=5.4.0

4.0.0-rc.1PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/f121510bbeb52d39582fbd1a2f31bc9fc4139f8ed4e89ef9c1406868c378669d?d=identicon)[wsdltophp](/maintainers/wsdltophp)

---

Top Contributors

[![mikaelcom](https://avatars.githubusercontent.com/u/584391?v=4)](https://github.com/mikaelcom "mikaelcom (2036 commits)")[![mcatirau-avantajprim](https://avatars.githubusercontent.com/u/28052925?v=4)](https://github.com/mcatirau-avantajprim "mcatirau-avantajprim (14 commits)")[![Gemorroj](https://avatars.githubusercontent.com/u/885731?v=4)](https://github.com/Gemorroj "Gemorroj (7 commits)")[![localheinz](https://avatars.githubusercontent.com/u/605483?v=4)](https://github.com/localheinz "localheinz (4 commits)")[![tbreuss](https://avatars.githubusercontent.com/u/1334161?v=4)](https://github.com/tbreuss "tbreuss (3 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (2 commits)")[![phordijk](https://avatars.githubusercontent.com/u/4834249?v=4)](https://github.com/phordijk "phordijk (2 commits)")[![derrabus](https://avatars.githubusercontent.com/u/1506493?v=4)](https://github.com/derrabus "derrabus (2 commits)")[![Oipnet](https://avatars.githubusercontent.com/u/13480665?v=4)](https://github.com/Oipnet "Oipnet (1 commits)")[![Phobetor](https://avatars.githubusercontent.com/u/712973?v=4)](https://github.com/Phobetor "Phobetor (1 commits)")[![phryneas](https://avatars.githubusercontent.com/u/4282439?v=4)](https://github.com/phryneas "phryneas (1 commits)")[![superbiche](https://avatars.githubusercontent.com/u/2478146?v=4)](https://github.com/superbiche "superbiche (1 commits)")[![AlexKratky](https://avatars.githubusercontent.com/u/33813757?v=4)](https://github.com/AlexKratky "AlexKratky (1 commits)")[![waldo2188](https://avatars.githubusercontent.com/u/841872?v=4)](https://github.com/waldo2188 "waldo2188 (1 commits)")[![cliffordvickrey](https://avatars.githubusercontent.com/u/25918827?v=4)](https://github.com/cliffordvickrey "cliffordvickrey (1 commits)")[![dypa](https://avatars.githubusercontent.com/u/80477?v=4)](https://github.com/dypa "dypa (1 commits)")[![faithfulman18](https://avatars.githubusercontent.com/u/9391381?v=4)](https://github.com/faithfulman18 "faithfulman18 (1 commits)")[![gugglegum](https://avatars.githubusercontent.com/u/1580712?v=4)](https://github.com/gugglegum "gugglegum (1 commits)")[![hluup](https://avatars.githubusercontent.com/u/154532?v=4)](https://github.com/hluup "hluup (1 commits)")[![jdreesen](https://avatars.githubusercontent.com/u/424602?v=4)](https://github.com/jdreesen "jdreesen (1 commits)")

---

Tags

dockerpackagegeneratorphpphp-libraryphp-sdksdk-generatorsoapsoap-clientstandalonewsdlwsdl-to-phpphpgeneratorsoapwsdl

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/wsdltophp-packagegenerator/health.svg)

```
[![Health](https://phpackages.com/badges/wsdltophp-packagegenerator/health.svg)](https://phpackages.com/packages/wsdltophp-packagegenerator)
```

###  Alternatives

[piotrooo/wsdl-creator

PHP WSDL creator using PHPdoc (annotations, reflections).

84158.3k2](/packages/piotrooo-wsdl-creator)[mongosoft/yii2-soap-server

SOAP Server Extension for Yii 2

25265.1k](/packages/mongosoft-yii2-soap-server)[shopware/deployment-helper

Shopware deployment tools

19305.3k5](/packages/shopware-deployment-helper)[rizeway/anchour

Toolkit for deploying web applications

265.7k](/packages/rizeway-anchour)[mmoreram/translation-server

PHP translation server

233.7k2](/packages/mmoreram-translation-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
