Projekt

Allgemein

Profil

GX-Bug #70250

Von Patrick Bayer vor fast 2 Jahren aktualisiert

Leere URL in Paketdienst führt zu Fehlern im Service  
 Wenn unter Shop Einstellungen -> Paketdienste ein Paketdienst ohne URL angelegt wird, führt dies zu Fehlern, Beispiel: 

 Uncaught InvalidArgumentException: NonEmptyStringType: Invalid argument value given (expected non-empty    string got string):    in src/GXEngine/Shared/Types/NonEmptyStringType.inc.php:38 
 Stack trace: 
 #0 src/GXMainComponents/Services/Core/ParcelService/Entities/ParcelServiceDescription.inc.php(63): NonEmptyStringType->__construct() 
 #1 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(184): ParcelServiceDescription::create() 
 #2 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(160): ParcelServiceMapper->createParcelService() 
 #3 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(51): ParcelServiceMapper->createParcelServiceCollection() 


 Testen: 
 - Shop Einstellungen -> Paketdienste aufrufen 
 - Leeren URL bei einem Paketdienst eintragen  
 - Hermes HSI unter Module -> Modul-Center installieren 
 - HSI-Konfiguration aufrufen 
 - erwartetes Verhalten: hier sollte nun die Modul-Konfiguration (siehe Screenshot) angezeigt werden 
 - tatsächliches Verhalten: Ausgabe der oben genannten Fehlermeldung 

 EDIT: 
 Unter Hermes funktioniert es aktuell. Aktuell tritt der Fehler noch bei Afterbuy auf, wenn man dort dann versucht den Bestelldaten-Export Reiter aufzurufen. 


 Der Punkt Shop Einstellungen -> Paketdienste erlaubt das Anlegen von Paketdiensten ohne Angabe einer URL und das ist auch korrekt so, da es hierfür Anwendungsfälle in der Praxis gibt. Der in der Fehlermeldung genannte Service verlangt hier aber eine Eingabe und reagiert mit einer Fehlermeldung, wenn das Feld leer ist. Der Service muss hier daher auch leere Angaben akzeptieren.  

 =================================================================================================== 

 If a parcel service without a URL is created under Shop Settings -> Parcel Services, this leads to error messages in the underlying service.  

 Example: 

 Uncaught InvalidArgumentException: NonEmptyStringType: Invalid argument value given (expected non-empty    string got string):    in src/GXEngine/Shared/Types/NonEmptyStringType.inc.php:38 
 Stack trace: 
 #0 src/GXMainComponents/Services/Core/ParcelService/Entities/ParcelServiceDescription.inc.php(63): NonEmptyStringType->__construct() 
 #1 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(184): ParcelServiceDescription::create() 
 #2 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(160): ParcelServiceMapper->createParcelService() 
 #3 src/GXMainComponents/Services/Core/ParcelService/Repositories/ParcelServiceMapper.inc.php(51): ParcelServiceMapper->createParcelServiceCollection() 

 Testing: 
 - Go to shop settings -> parcel services 
 - Enter an empty URL for a parcel service 
 - Install Hermes HSI under Modules -> Module Center 
 - Call up HSI configuration 
 - Expected behavior: the module configuration (see screenshot) should now be displayed here 
 - Actual behavior: Output of the above error message 

 EDIT: Its working with Hermes now. To test you need to use i.e. Afterbuy and try to open the order data export with no URL for a parcel service 


 The point Shop Settings -> Parcel Services allows the creation of parcel services without specifying a URL and that is correct, as there are use cases for this in practice. The service named in the error message requires an entry here and reacts with an error message if the field is empty. The service must therefore also accept missing information here.

Zurück