[ 
https://issues.apache.org/jira/browse/CAMEL-6720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Moises Ventura Espejo updated CAMEL-6720:
-----------------------------------------

    Attachment: ServiceInterfaceStrategy.java

Patched ServiceInterfaceStrategy

> SoapJaxbDataFormat not handling correctly SOAP action with request wrapper 
> element
> ----------------------------------------------------------------------------------
>
>                 Key: CAMEL-6720
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6720
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-soap
>    Affects Versions: 2.12.0
>            Reporter: Ondrej Fischer
>            Priority: Minor
>             Fix For: Future
>
>         Attachments: ServiceInterfaceStrategy.java
>
>
> If an interface to be used as SOAP service interface is configured to have 
> parameters wrapped in a request wrapper element (eg. using @RequestWrapper),
> then an attempt to invoke a its method will throw NPE:
> {code}
> java.lang.NullPointerException
>       at 
> org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy.findQNameForSoapActionOrType(ServiceInterfaceStrategy.java:207)
>       at 
> org.apache.camel.dataformat.soap.SoapJaxbDataFormat.createContentFromObject(SoapJaxbDataFormat.java:208)
>       at 
> org.apache.camel.dataformat.soap.Soap11DataFormatAdapter.doMarshal(Soap11DataFormatAdapter.java:77)
>       at 
> org.apache.camel.dataformat.soap.SoapJaxbDataFormat.marshal(SoapJaxbDataFormat.java:141)
>       at 
> org.apache.camel.processor.MarshalProcessor.process(MarshalProcessor.java:59)
> {code}
> The reason for this is sequence of following:
> # The ServiceInterfaceStrategy is creating a mapping of methods to MethodInfo.
> # In case of RequestWrapper, the wrapper class is used as a single input 
> TypeInfo, and no TypeInfo is being held for the real parameters.
> # At method invocation, it tries to lookup the TypeInfo in the MethodInfo, 
> but for the real parameter class, and it only contains mapping for the 
> request wrapper. So it fails with NPE.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to