cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <>
Subject [jira] Commented: (CXF-2539) Service invocation with parameter null for wrapped style with implicit SOAP header definition
Date Mon, 16 Nov 2009 19:09:39 GMT


Daniel Kulp commented on CXF-2539:

Any chance you could test your test case with 2.2.4 and the 2.2.5 stuff that is being voted
on now:

There are a bunch of related bugs fixed in 2.2.4 and a couple more fixed in 2.2.5 so this
is likely already fixed:

[CXF-2451] Fix an issue with implicit headers and no-arg methods causing
[CXF-2478] Fix problem of wrong part being removed
[CXF-2498] Wrong parameter number exception with explicit soap headers

I BELIEVE CXF-2478 is the fix for this issue.

> Service invocation with parameter null for wrapped style with implicit SOAP header definition
> ---------------------------------------------------------------------------------------------
>                 Key: CXF-2539
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.2.3
>            Reporter: Holger Delfs
> In my WSDL a security SOAP header is defined as a separate message ("implicit header
definition"), which is handled by a WSS4JInInterceptor. But when the service implementation
is invoked, one of the other parameters has been removed and thus causes a NullPointerException.
> Through debugging I found that in this case the WrapperClassInInterceptor tries to remove
the additional header value from the parameters of the MessageContentsList by identifying
the corresponding MessagePartInfo. But since the indexing in messageInfo and wrappedMessageInfo
is naturally different, the part index from wrappedMessageInfo (line 140) cannot be used for
removing a value from the newParams list (line 155). Thus a "regular" parameter value gets
> A work around would probably be to use an explicit security parameter with @WebParam(header
= true), as generated from -exsh true flag to wsdl2java, but I don't like to have this extra
parameter in my service interface (as with @WebParam(header = true) from -exsh true flag to
wsdl2java), since security information is rather an aspect than business parameter.
> Here an excerpt from my WSDL with the implicit header definition:
> 	<wsdl:binding name="TravelExpensesServiceSoapBinding" type="tr:TravelExpensesWebService">
> 		<soap:binding style="document" transport=""/>
> 		<wsdl:operation name="submitTravel">
> 			<soap:operation soapAction=""/>
> 			<wsdl:input name="submitTravelRequest">
> 				<soap:header message="tr:securityHeader" part="security" wsdl:required="true"
> 				<soap:body parts="submitTravel" use="literal"/>
> 			</wsdl:input>
> 			<wsdl:output name="submitTravelResponse">
> 				<soap:body parts="submitTravelResponse" use="literal"/>
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message