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>