From c123d344629742feba03b7a96b7e85705208cafe Mon Sep 17 00:00:00 2001 From: "rafal.tokarski" Date: Fri, 14 Nov 2025 23:17:39 +0100 Subject: [PATCH 1/8] Upgrade dependencies in composer --- composer.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index ae012b4..24000e9 100644 --- a/composer.json +++ b/composer.json @@ -12,10 +12,10 @@ "goetas-webservices/soap-reader": "^0.3.1", "goetas-webservices/wsdl-reader": "^0.3", "goetas-webservices/xsd2php": "^0.4.1", - "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0", - "symfony/config": "^2.2|^3.0|^4.0|^5.0", - "symfony/yaml": "^2.1|^3.0|^4.0|^5.0", - "doctrine/inflector": "^1.0" + "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0|^6.0", + "symfony/config": "^2.2|^3.0|^4.0|^5.0|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0", + "doctrine/inflector": "^1.0|^2.0|^3.0" }, "require-dev": { "phpunit/phpunit": "^7.0|^8.0", From 368e8d3b5deb01cf269b76f8f784da49f2127080 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Fri, 14 Nov 2025 23:30:18 +0100 Subject: [PATCH 2/8] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 24000e9..9fb594e 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "require": { "php": "^7.1|^8.0", "goetas-webservices/soap-reader": "^0.3.1", - "goetas-webservices/wsdl-reader": "^0.3", + "goetas-webservices/wsdl-reader": "*", "goetas-webservices/xsd2php": "^0.4.1", "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0|^6.0", "symfony/config": "^2.2|^3.0|^4.0|^5.0|^6.0|^7.0", From 66a330c895c992a178fce1ae15fe91eb66d4ee94 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Fri, 14 Nov 2025 23:32:12 +0100 Subject: [PATCH 3/8] Update wsdl-reader version constraint in composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 9fb594e..f87cb6a 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "require": { "php": "^7.1|^8.0", "goetas-webservices/soap-reader": "^0.3.1", - "goetas-webservices/wsdl-reader": "*", + "goetas-webservices/wsdl-reader": "^0.3|^0.4", "goetas-webservices/xsd2php": "^0.4.1", "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0|^6.0", "symfony/config": "^2.2|^3.0|^4.0|^5.0|^6.0|^7.0", From b0df415902e3a59446fc2658f47739ad988b7897 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Fri, 14 Nov 2025 23:34:53 +0100 Subject: [PATCH 4/8] Update soap-reader version constraint in composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index f87cb6a..1418e57 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ ], "require": { "php": "^7.1|^8.0", - "goetas-webservices/soap-reader": "^0.3.1", + "goetas-webservices/soap-reader": "^0.3.1|^0.4", "goetas-webservices/wsdl-reader": "^0.3|^0.4", "goetas-webservices/xsd2php": "^0.4.1", "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0|^6.0", From 0b71c3220bb06ea1f9835a975f707f0349a38c7b Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Fri, 14 Nov 2025 23:44:14 +0100 Subject: [PATCH 5/8] Update dependencies to allow any version --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 1418e57..73d9898 100644 --- a/composer.json +++ b/composer.json @@ -9,8 +9,8 @@ ], "require": { "php": "^7.1|^8.0", - "goetas-webservices/soap-reader": "^0.3.1|^0.4", - "goetas-webservices/wsdl-reader": "^0.3|^0.4", + "goetas-webservices/soap-reader": "*", + "goetas-webservices/wsdl-reader": "*", "goetas-webservices/xsd2php": "^0.4.1", "symfony/dependency-injection": "^2.2|^3.0|^4.0|^5.0|^6.0", "symfony/config": "^2.2|^3.0|^4.0|^5.0|^6.0|^7.0", From e60018ed425a7147f787f0071e27d5a49ecc5c00 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Mon, 17 Nov 2025 21:43:11 +0100 Subject: [PATCH 6/8] Refactor to use InflectorFactory for inflection --- src/Generation/JmsSoapConverter.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Generation/JmsSoapConverter.php b/src/Generation/JmsSoapConverter.php index 998f773..b01bac1 100644 --- a/src/Generation/JmsSoapConverter.php +++ b/src/Generation/JmsSoapConverter.php @@ -1,7 +1,8 @@ converter = $converter; + $this->inflector = InflectorFactory::create()->build(); parent::__construct($baseNs); } @@ -83,7 +87,7 @@ private function visitOperation(\GoetasWebservices\XML\SOAPReader\Soap\Operation private function visitMessage(OperationMessage $message, $hint, \GoetasWebservices\XML\SOAPReader\Soap\Operation $operation, Service $service) { if (!isset($this->classes[spl_object_hash($message)])) { - $className = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['parts']); + $className = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['parts']); $class = array(); $data = array(); $envelopeData["xml_namespaces"] = ['SOAP' => $this->soapEnvelopeNs]; @@ -96,7 +100,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $this->classes[spl_object_hash($message)] = &$class; - $messageClassName = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['messages']); + $messageClassName = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['messages']); $envelopeClass = array(); $envelopeData = array(); $envelopeClass[$messageClassName] = &$envelopeData; @@ -125,7 +129,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $headersData["xml_namespaces"] = ['SOAP' => $this->soapEnvelopeNs]; - $className = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['headers']); + $className = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['headers']); $headersClass[$className] = &$headersData; $this->classes[] = &$headersClass; @@ -172,8 +176,8 @@ private function visitMessageParts(&$data, array $parts, $wrapper = null) $c = $this->converter->visitType($part->getType()); } - $property["accessor"]["getter"] = "get" . Inflector::classify($name); - $property["accessor"]["setter"] = "set" . Inflector::classify($name); + $property["accessor"]["getter"] = "get" . $this->inflector->classify($name); + $property["accessor"]["setter"] = "set" . $this->inflector->classify($name); $property["serialized_name"] = $name; @@ -183,13 +187,13 @@ private function visitMessageParts(&$data, array $parts, $wrapper = null) $property["type"] = key($c); } - $data['properties'][Inflector::camelize($name)] = $property; + $data['properties'][$this->inflector->camelize($name)] = $property; } } private function findPHPName(OperationMessage $message, $hint = '', $nsadd = '') { - $name = Inflector::classify($message->getMessage()->getOperation()->getName()) . $hint; + $name = $this->inflector->classify($message->getMessage()->getOperation()->getName()) . $hint; $targetNs = $message->getMessage()->getDefinition()->getTargetNamespace(); $namespaces = $this->converter->getNamespaces(); From c0e75e09bbc6197263f28738c009e5fb89869612 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Mon, 17 Nov 2025 21:43:29 +0100 Subject: [PATCH 7/8] Refactor to use InflectorFactory for inflection --- src/Generation/PhpSoapConverter.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Generation/PhpSoapConverter.php b/src/Generation/PhpSoapConverter.php index e4d9511..3e2044c 100644 --- a/src/Generation/PhpSoapConverter.php +++ b/src/Generation/PhpSoapConverter.php @@ -1,7 +1,8 @@ converter = $converter; + $this->inflector = InflectorFactory::create()->build(); parent::__construct($baseNs); } @@ -63,8 +67,8 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $this->classes['__' . spl_object_hash($message)] = $bodyClass = new PHPClass(); - list ($name, $ns) = $this->findPHPName($message, Inflector::classify($hint)); - $bodyClass->setName(Inflector::classify($name)); + list ($name, $ns) = $this->findPHPName($message, $this->inflector->classify($hint)); + $bodyClass->setName($this->inflector->classify($name)); $bodyClass->setNamespace($ns . $this->baseNs[$service->getVersion()]['parts']); if ($message->getBody()->getParts()) { $this->classes[$bodyClass->getFullName()] = $bodyClass; @@ -73,7 +77,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $this->visitMessageParts($bodyClass, $message->getBody()->getParts()); $envelopeClass = new PHPClass(); - $envelopeClass->setName(Inflector::classify($name)); + $envelopeClass->setName($this->inflector->classify($name)); $envelopeClass->setNamespace($ns . $this->baseNs[$service->getVersion()]['messages']); $envelopeClass->setImplements(['GoetasWebservices\SoapServices\Metadata\Envelope\Envelope']); $this->classes[$envelopeClass->getFullName()] = $envelopeClass; @@ -86,7 +90,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $property = new PHPProperty('header'); $headerClass = new PHPClass(); - $headerClass->setName(Inflector::classify($name)); + $headerClass->setName($this->inflector->classify($name)); $headerClass->setNamespace($ns . $this->baseNs[$service->getVersion()]['headers']); $this->classes[$headerClass->getFullName()] = $headerClass; @@ -112,10 +116,10 @@ private function visitMessageParts(PHPClass $class, array $parts) $property = new PHPProperty(); if ($part->getElement()) { - $property->setName(Inflector::camelize($part->getElement()->getName())); + $property->setName($this->inflector->camelize($part->getElement()->getName())); $property->setType($this->converter->visitElementDef($part->getElement())); } else { - $property->setName(Inflector::camelize($part->getName())); + $property->setName($this->inflector->camelize($part->getName())); $property->setType($this->converter->visitType($part->getType())); } From 8b5cb877e1b21ce24782db91059365dd8e759d68 Mon Sep 17 00:00:00 2001 From: rafaltokarski Date: Mon, 17 Nov 2025 21:43:43 +0100 Subject: [PATCH 8/8] Refactor to use InflectorFactory for inflection --- src/Generation/SoapConverter.php | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Generation/SoapConverter.php b/src/Generation/SoapConverter.php index 672ecde..6127fab 100644 --- a/src/Generation/SoapConverter.php +++ b/src/Generation/SoapConverter.php @@ -1,7 +1,8 @@ baseNs = $baseNs; } + + $this->inflector = InflectorFactory::create()->build(); } public function visitServices(array $services) @@ -94,7 +99,7 @@ private function visitOperation(\GoetasWebservices\XML\SOAPReader\Soap\Operation private function visitMessage(OperationMessage $message, $hint, \GoetasWebservices\XML\SOAPReader\Soap\Operation $operation, Service $service) { if (!isset($this->classes[spl_object_hash($message)])) { - $className = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['parts']); + $className = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['parts']); $class = array(); $data = array(); $envelopeData["xml_namespaces"] = ['SOAP' => $this->soapEnvelopeNs]; @@ -107,7 +112,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $this->classes[spl_object_hash($message)] = &$class; - $messageClassName = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['messages']); + $messageClassName = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['messages']); $envelopeClass = array(); $envelopeData = array(); $envelopeClass[$messageClassName] = &$envelopeData; @@ -135,7 +140,7 @@ private function visitMessage(OperationMessage $message, $hint, \GoetasWebservic $headersData["xml_namespaces"] = ['SOAP' => $this->soapEnvelopeNs]; - $className = $this->findPHPName($message, Inflector::classify($hint), $this->baseNs[$service->getVersion()]['headers']); + $className = $this->findPHPName($message, $this->inflector->classify($hint), $this->baseNs[$service->getVersion()]['headers']); $headersClass[$className] = &$headersData; $this->classes[] = &$headersClass; @@ -172,8 +177,8 @@ private function visitMessageParts(&$data, array $parts, $wrapper = null) $property["access_type"] = "public_method"; - $property["accessor"]["getter"] = "get" . Inflector::classify($part->getName()); - $property["accessor"]["setter"] = "set" . Inflector::classify($part->getName()); + $property["accessor"]["getter"] = "get" . $this->inflector->classify($part->getName()); + $property["accessor"]["setter"] = "set" . $this->inflector->classify($part->getName()); if ($part->getElement()) { @@ -191,13 +196,13 @@ private function visitMessageParts(&$data, array $parts, $wrapper = null) $property["type"] = key($c); } - $data['properties'][Inflector::camelize($part->getName())] = $property; + $data['properties'][$this->inflector->camelize($part->getName())] = $property; } } private function findPHPName(OperationMessage $message, $hint = '', $nsadd = '') { - $name = Inflector::classify($message->getMessage()->getOperation()->getName()) . $hint; + $name = $this->inflector->classify($message->getMessage()->getOperation()->getName()) . $hint; $targetNs = $message->getMessage()->getDefinition()->getTargetNamespace(); $namespaces = $this->converter->getNamespaces();