All Projects → WsdlToPhp → Packagegenerator

WsdlToPhp / Packagegenerator

Licence: mit
Generates a PHP SDK based on a WSDL, simple and powerful, WSDL to PHP

Projects that are alternatives of or similar to Packagegenerator

php-crm-toolkit
Dynamics CRM Toolkit for PHP
Stars: ✭ 94 (-66.31%)
Mutual labels:  soap
yurpc
high-performance RPC framework.
Stars: ✭ 59 (-78.85%)
Mutual labels:  soap
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (-75.99%)
Mutual labels:  standalone
docker-spark
Apache Spark docker container image (Standalone mode)
Stars: ✭ 34 (-87.81%)
Mutual labels:  standalone
ministaller
Lightweight installer/updater for portable desktop applications
Stars: ✭ 15 (-94.62%)
Mutual labels:  standalone
choco-selenium
Installs and configures selenium standalone, hub, or node server
Stars: ✭ 16 (-94.27%)
Mutual labels:  standalone
pace-api
A PHP client for EFI Pace's SOAP API.
Stars: ✭ 13 (-95.34%)
Mutual labels:  soap
Ofelia
A real-time cross-platform creative coding tool for multimedia development
Stars: ✭ 269 (-3.58%)
Mutual labels:  standalone
esteem
eSteem Mobile - Application for Android and iOS users, start earning cryptocurrency!
Stars: ✭ 88 (-68.46%)
Mutual labels:  standalone
soap-spring-boot-cxf
Sample Project for producing & testing a SOAP-WSDL-driven Service with Spring Boot, Apache CXF & JAX-WS
Stars: ✭ 56 (-79.93%)
Mutual labels:  soap
TwitterPiBot
A Python based bot for Raspberry Pi that grabs tweets with a specific hashtag and reads them out loud.
Stars: ✭ 85 (-69.53%)
Mutual labels:  standalone
dogfood
A tool for building self contained Lua executables
Stars: ✭ 26 (-90.68%)
Mutual labels:  standalone
discodo
Enhanced Audio Player for Discord
Stars: ✭ 41 (-85.3%)
Mutual labels:  standalone
soap-http-binding
A PHP library for binding SOAP messages to PSR-7 HTTP messages.
Stars: ✭ 14 (-94.98%)
Mutual labels:  soap
xmldsigjs
XMLDSIGjs provides an implementation of XMLDSIG in Typescript/Javascript based on WebCrypto
Stars: ✭ 27 (-90.32%)
Mutual labels:  soap
you-get.exe
You-Get unofficial build executable for Windows || You-Get 非官方构建的可执行文件
Stars: ✭ 40 (-85.66%)
Mutual labels:  standalone
as2-server
A standalone Java AS2 server - see as2-lib for the generic parts
Stars: ✭ 29 (-89.61%)
Mutual labels:  standalone
Product Ei
An open source, a high-performance hybrid integration platform that allows developers quick integration with any application, data, or system.
Stars: ✭ 277 (-0.72%)
Mutual labels:  soap
js-utils
A collection of dependency-free JavaScript utilities 🔧
Stars: ✭ 22 (-92.11%)
Mutual labels:  standalone
wsdl-tsclient
📄 Generate typescript client from wsdl
Stars: ✭ 30 (-89.25%)
Mutual labels:  soap

Package Generator

Package Generator generates a PHP SDK from any WSDL.

License Latest Stable Version Build Status Scrutinizer Code Quality Code Coverage Total Downloads StyleCI SensioLabsInsight

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.

Package Generator generates files that are detailed in the MANIFEST. 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

In a project:

composer require wsdltophp/packagegenerator --dev

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:

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

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.

All the options are fully detailed in the Options page.

In a project:

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:

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:

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

4.0

First released on xx xxx 2021, maintained until version 6.0 is released. Please read the UPGRADE-4.0 note in order to acknowledge the main changes.

3.0

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

2.0

Not maintained since 2021/xx/xx.

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

1.0

Not maintained anymore

Testing

# launch all tests
$ phpunit

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

Testing using Docker

Thanks to the Docker image of 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 by running the below command line from the root directory of the project:

$ docker-compose up -d --build

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)
$ docker exec -it package_generator php-7.4 /usr/bin/composer update
# run tests in container
$ docker exec -it package_generator php-7.4 -dmemory_limit=-1 vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details. In addition, code documentation is at doc.wsdltophp.com.

Credits

Developers who helped on this project are listed in the composer.json file as Contributor and are:

FAQ

If you have any question, please read the Options page about the available options to generate the package.

There is also a 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.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].