Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Wsdl2Php Generator Cli Bundle Laravel Package

venture-oak-labs/wsdl2php-generator-cli-bundle

Symfony bundle adding console commands for the wsdl2php-generator library, so you can turn WSDL/SOAP definitions into PHP classes from the CLI. Handy for SOAP integrations; requires Symfony Console and the underlying generator package.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is a Symfony bundle, not a Laravel package. It ships a Bundle subclass plus a DI extension to register the wsdl2phpgenerator console client as a container service. Laravel's container, package discovery, and command scheduling have no mechanism to consume Symfony bundles — there is no Bundle::register() equivalent, no tag-based command collection, and no services.yaml loader. Practically, none of the bundle's value proposition (auto-registration of a console command) is reusable in a Laravel app without re-authoring it as a service provider. The only transferable asset is the third-party wsdl2phpgenerator CLI it wraps, which can be invoked directly.

Integration feasibility. Technically feasible but almost entirely through bypass: install wsdl2phpgenerator/wsdl2phpgenerator-cli (or the core library) via Composer, invoke the binary from a Composer script, a CI job, or a thin custom Artisan command. The bundle itself adds no code generation logic — it is glue. That means adopting it as a dependency buys nothing in a Laravel context and adds an extra transitive layer to audit. Feasibility is high for the underlying generator; near-zero for the bundle as packaged.

Technical risk. High, concentrated in supply-chain and maintenance signals rather than runtime behavior. Two stars, zero dependents, and a repository score of ~0.01 indicate no meaningful production usage; an unpatched generator or CLI is unlikely to receive upstream fixes. The bundle layer is unmaintained glue over a tool whose active fork is now wsdl2phpgenerator/wsdl2phpgenerator (the original repo was archived) — expect stale Symfony version constraints that may conflict with modern Symfony components pulled in transitively. Generated code is also a durability risk: SOAP class stubs are build artifacts that drift from the WSDL and must be regenerated deliberately, not silently at runtime.

Key questions.

  • Which WSDL targets and how frequently do they change? If contracts are stable, generated code is a one-time cost and a thin build step wins.
  • Is SOAP actually strategic, or is this a single legacy vendor integration that could be wrapped behind an adapter interface?
  • Does the codegen need to run at deploy time, on demand, or never again (checked-in artifacts)?
  • Are there maintained alternatives (wsdl2phpgenerator core, php2wsdl, or hand-written ext-soap wrappers) that avoid an abandoned bundle?
  • Who owns regenerating and reviewing the generated diff when the vendor changes their contract?

Integration Approach

Stack fit. Poor as a package dependency; acceptable as a toolchain dependency. Treat wsdl2phpgenerator as a dev-only build tool, not a runtime library. Generated classes belong in something like app/Soap/Generated or a dedicated packages/soap-client module, behind hand-written adapter/gateway classes so the rest of the Laravel app depends on a domain interface rather than generated SOAP types. Wire transport concerns (endpoint, auth headers, timeouts, logging) through Laravel's HTTP client or a configured SoapClient factory, not through the generator's output.

Migration path. Do not install the bundle. Instead: (1) add wsdl2phpgenerator/wsdl2phpgenerator-cli to require-dev; (2) add a Composer script ("soap:generate": "wsdl2phpgenerator --input=... --output=...") or a small Artisan command that shells out to the binary; (3) commit generated output so deploys are deterministic and do not require WSDL availability; (4) wrap each generated service in a hand-written gateway class registered in a service provider. If the bundle is already in a legacy Symfony codebase being ported, the migration is a straight lift-and-shift of the CLI invocation, with the bundle discarded.

Compatibility. Verify PHP version support against your floor — the generator lineage targets older PHP (7.x-era) and may emit code with deprecated patterns or fail on PHP 8.2+ deprecations. Check that generated classes do not collide with your autoload namespace or PSR-4 boundaries; pin the generator's --namespace flag explicitly. Confirm no Symfony DI packages leak into production vendor/ via require rather than require-dev.

Sequencing.

  1. Spike: generate from the real WSDL in a scratch branch, inspect output quality and PHP 8 compatibility.
  2. Decide artifact strategy — commit generated code (recommended) vs. generate in CI.
  3. Define the gateway interface and adapter before writing any consumer code.
  4. Integrate one operation end-to-end with tests against a recorded SOAP fixture (not the live vendor).
  5. Expand operation coverage; add a WSDL-change diff check to CI.

Operational Impact

Maintenance. Low ongoing effort if generated code is committed and the WSDL is stable; the generator becomes a rarely-run dev tool with no production footprint. The cost lands on WSDL changes: each vendor contract change produces a large, hard-to-review generated diff. Budget for a named owner and a documented regeneration runbook. Do not expect upstream support for the bundle — assume you fork or script around it.

Support. Effectively community-zero. Two stars and zero dependents mean no issue triage, no security response, and no compatibility patches. Internal ownership is mandatory: your team is the maintainer of last resort for anything you adopt from this lineage. Prefer the actively maintained core generator over the CLI-bundle wrapper to reduce the surface you own.

Scaling. The generator runs offline and does not scale with traffic — it is a build-time concern, so horizontal scaling is unaffected. The runtime scaling concerns are SOAP-specific: synchronous vendor calls with no connection pooling, long timeouts, and no retry semantics by default. Isolate SOAP calls behind queued jobs with explicit timeouts and circuit breaking; never call the vendor inline in a user-facing request path.

Failure modes.

  • WSDL unreachable at build time → build fails (mitigated by committing generated artifacts).
  • Silent WSDL drift → generated classes no longer match vendor expectations; failures surface at runtime as serialization errors. Mitigate with contract tests against fixtures.
  • PHP version bump → generator emits deprecated/deprecated-constructor code and breaks your pipeline.
  • Transitive dependency conflict from stale Symfony constraints if the bundle is installed.
  • SOAP faults returned with HTTP 200 → generic exceptions; requires explicit fault parsing and mapping to domain errors.
  • Credential/header misconfiguration → auth failures indistinguishable from malformed payloads without structured logging.

Ramp-up. Very low for the generator itself — a developer can run the CLI and read the output in under an hour. The real ramp is SOAP domain knowledge: WSDL/XSD semantics, fault handling, and the vendor's quirks. Plan for roughly a day of spike time plus a half-day to document the regeneration runbook; the bundle contributes nothing to reducing that and is best skipped entirely in favor of the underlying CLI.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log