You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Moises Ventura Espejo (JIRA)" <ji...@apache.org> on 2014/02/12 13:29:19 UTC

[jira] [Commented] (CAMEL-6720) SoapJaxbDataFormat not handling correctly SOAP action with request wrapper element

    [ https://issues.apache.org/jira/browse/CAMEL-6720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899055#comment-13899055 ] 

Moises Ventura Espejo commented on CAMEL-6720:
----------------------------------------------

The problem seems to be fixed by commenting out the following line 99, method "private List<TypeInfo> getInInfo(Method method)":

//typeInfos.add(new TypeInfo(null, null));

I've been using the patched jar for a while without noticing problems. Is the TypeInfo(null, null) required in other methods?

Sorry I'm not submitting a proper patch, I'm new in Jira.

> 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)