Je suis confronté à des problèmes auxquels je ne trouve pas non plus de solution (ou je m'attaque au mauvais sens). Lorsque certaines exceptions sont générées à partir de mon service, il semble que la sérialisation échoue. Il en résulte une exception encapsulée qui est pénible car les clients appelant reçoivent une erreur médiocre et j'imagine que je perds des informations utiles de l'exception originale. Dans l'exemple ci-dessous, il s'agit d'un problème d'accès au compartiment S3, mais j'ai rencontré des problèmes similaires avec certaines exceptions SQL.Échec de la sérialisation de l'exception Jax-ws
Il serait utile que je puisse garder mes services pour intervenir directement. L'idéal serait d'ajouter un code de sérialisation d'exception personnalisé.
> com.amazonaws.services.simpleworkflow.flow.DataConverterException:
> Failure serializing
> "com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client
> received SOAP Fault from server: Access Denied (Service: Amazon S3;
> Status Code: 403; Error Code: AccessDenied; Request ID: AAAAAAAAAAAA)
> Please see the server log to find more detail regarding exact cause of
> the failure." of type "class
> com.sun.xml.internal.ws.fault.ServerSOAPFaultException" when mapping
> key "null" at
> com.amazonaws.services.simpleworkflow.flow.JsonDataConverter.throwDataConverterException(JsonDataConverter.java:90)
> at
> com.amazonaws.services.simpleworkflow.flow.JsonDataConverter.toData(JsonDataConverter.java:78)
> at
> com.amazonaws.services.simpleworkflow.flow.pojo.POJOActivityImplementation.throwActivityFailureException(POJOActivityImplementation.java:102)
> at
> com.amazonaws.services.simpleworkflow.flow.pojo.POJOActivityImplementation.execute(POJOActivityImplementation.java:67)
> at
> com.amazonaws.services.simpleworkflow.flow.generic.ActivityImplementationBase.execute(ActivityImplementationBase.java:46)
> at
> com.amazonaws.services.simpleworkflow.flow.worker.SynchronousActivityTaskPoller.execute(SynchronousActivityTaskPoller.java:196)
> at
> com.amazonaws.services.simpleworkflow.flow.worker.ActivityTaskPoller$2.run(ActivityTaskPoller.java:92)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:748) Caused by:
> com.fasterxml.jackson.databind.JsonMappingException: Type id handling
> not implemented for type org.w3c.dom.Node (by serializer of type
> com.fasterxml.jackson.databind.ext.DOMSerializer) (through reference
> chain:
> com.sun.xml.internal.ws.fault.ServerSOAPFaultException["fault"]) at
> com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1084)
> at
> com.fasterxml.jackson.databind.JsonSerializer.serializeWithType(JsonSerializer.java:159)
> at
> com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:695)
> at
> com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675)
> at
> com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566)
> at
> com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32)
> at
> com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130)
> at
> com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3559)
> at
> com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:2927)
> at
> com.amazonaws.services.simpleworkflow.flow.JsonDataConverter.toData(JsonDataConverter.java:72)
> ... 8 more
Merci pour toutes suggestions
Un grand merci @Kayaman –
403 sur un service SOAP? Avec JSON? Quelque chose manque à votre question. Est-ce que vous mappez SOAP à JSON? – Namphibian