Zur Vereinheitlichung von Fehlermeldungen, Statusmeldungen und Infomeldungen und für mögliche Erweiterungen ersetzen Response-Objekte in bestimmten Web-Services die SOAP-Fehler. Zum Beispiel für die Web-Services XMLImportService und ProductService.
Das Response-Objekt beinhaltet den Response-Content und den Response-Header. Der Response-Header beinhaltet Fehlercodes, Fehlerbeschreibungen und weitere Detailangaben:
<ns:getXMLImportErrorLogsResponse> <ns:return xsi:type="ax269:Response"> <ax269:content xsi:type="ax269:ResponseContent"> <ax269:payload xsi:nil="true"/> </ax269:content> <ax269:header xsi:type="ax269:ResponseHeader"> <ax269:error xsi:type="ax270:WSError"> <ax270:detail xsi:nil="true"/> <ax270:error xsi:type="ax270:Errors"> <ax270:code>1</ax270:code> <ax270:description>User not logged in.</ax270:description> </ax270error> </ax269:error> </ax269:header> </ns:return></ns:getXMLImportErrorLogsResponse>Für die Web-Service-Operation getSPCData (Web-Service-Operation) wird im Response-Content JSON ausgegeben.
<ns:getProductDataResponse xmlns:ns="http://services.viaWS.viaMEDICI.com"> <ns:return xmlns:ax2102="http://viaWS.viaMEDICI.com/xsd" xmlns:ax299="http://product.data.viaWS.viaMEDICI.com/xsd" xmlns:ax297="http://data.viaWS.viaMEDICI.com/xsd" xmlns:ax294="http://error.response.viaWS.viaMEDICI.com/xsd" xmlns:ax293="http://response.viaWS.viaMEDICI.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax293:Response"> <ax293:content xsi:type="ax293:ResponseContent"> <ax293:payload> { "productId": "RAMC02", "productName": "RAMC02", "id": null, "productConfiguratorSeparatorForGeneratedProductnr": "-", "productConfiguratorPratTypeUsedForConfiguration": "required", "tenatId": "Default", "productConfiguratorMaxNumberOfResultRecords": 50000, "attributes": [{ "epimId": 3000000957, "label": "Number", "datatype": "N", "lowerBound": 0, "upperBound": 1, "id": "number", "usageType": "", "preDecimalPlaces": 3, "decimalPlaces": 3, "ranges": [{ "epimId": 3000000177, "rangeMin": 0.0, "rangeMax": 10.0, "rangeStep": 2.0 }, { "epimId": 3000000178, "rangeMin": 10.0, "rangeMax": 100.0, "rangeStep": 5.0 } ], } </ax293:payload> </ax293:content> <ax293:header xsi:type="ax293:ResponseHeader"> <ax293:error xsi:nil="true"/> </ax293:header> </ns:return></ns:getProductDataResponse>Der WSError-Teil des Response-Headers im Response-Objekt kann ausgewertet werden: Wenn ein WSError vorhanden ist, kann der Fehlercode ausgewertet werden und es kann entsprechend reagiert werden. Wenn kein WSError vorhanden ist, kann der Inhalt des Response-Contents im Bereich payload benutzt werden.
Ein Response-Objekt ohne Content und Header:
<ns:loginResponse> <ns:return xsi:type="ax236:LoginData"> <ax236:logged>true</ax236:logged> <ax236:sessionId>5348ECC5B344D2F2392CAFA32F03BBF</ax236:sessionId> </ns:return></ns:loginResponse>