[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sandesha-dev
Subject:    [jira] [Commented] (AXIS2-5672) Addressing Action attributes are parsed incorrectly when deploying s
From:       "Detelin Yordanov (JIRA)" <jira () apache ! org>
Date:       2014-10-02 13:41:33
Message-ID: JIRA.12745499.1412256798000.175812.1412257293883 () Atlassian ! JIRA
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/AXIS2-5672?page=com.atlassian.jira.plugin. \
system.issuetabpanels:comment-tabpanel&focusedCommentId=14156582#comment-14156582 ] 

Detelin Yordanov commented on AXIS2-5672:
-----------------------------------------

The issue described here can be easily simulated with Axis2 version service by adding \
a WSDL file with wsaw:Action attributes in the service archive. However, due to \
AXIS2-5668 this cannot be done at the moment.

> Addressing Action attributes are parsed incorrectly when deploying service from \
>                 WSDL
> ------------------------------------------------------------------------------------
>  
> Key: AXIS2-5672
> URL: https://issues.apache.org/jira/browse/AXIS2-5672
> Project: Axis2
> Issue Type: Bug
> Components: Addressing, kernel
> Affects Versions: 1.6.2
> Reporter: Detelin Yordanov
> Attachments: axis2_patch.txt
> 
> 
> When creating a web service out of a WSDL which contains WS-Addressing Action \
> attributes with format <prefix>:<value>, Axis2 will strip the "<prefix>:" part if \
> the WSDL document contains a namespace declaration for <prefix> on some of the \
> parent elements. For example, if the definition element contains the following \
> namespace declaration: xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> And operation's input contains a wsaw:Action that starts with "http:":
> <wsdl:input message="ns:getVersionRequest" \
> wsam:Action="http://axisversion.sample/VersionPortType/getVersionWSAMRequest"/> \
> Then the result would be that the input AxisMessage is configured with an incorrect \
> Action value of "//axisversion.sample/VersionPortType/getVersionWSAMRequest". I'm \
> attaching a patch that contains a test case to verify this behavior - please see \
> WSDL11ToAxisServiceBuilderTest.testGetVersionActions() method. I investigated the \
> issue and I think this is caused by WSDL4J assuming wsaw:Action attribute's value \
> is of QName type and thus tries to parse it as such, expecting that it might have a \
> namespace prefix. I think this is wrong and WSDL4J has to be configured to process \
> wsaw:Action values as simple literals rather than QNames. I have added a utility \
> method for that, see: WSDLUtil.registerDefaultExtensionAttributeTypes
> This will register all WS-Addressing Action attribute flavors (for each known \
> namespace) in WSDL ExtensionRegistry to be of String type. For this to work, the so \
> configured ExtensionRegistry must be used whenever a WSDLReader is created, \
> therefore I added an additional utility method to be used for creating WSDLReader \
> instances: WSDLUtil.newWSDLReaderWithPopulatedExtensionRegistry
> I have replaced the regular WSDLFactory.newWSDLReader calls throughout Axis2 \
> codebase with this new factory method. While doing this, I noticed that in the past \
> this issue might have been identified and fixed in Axis2 CodeGenerationEngine \
> alone: https://svn.apache.org/viewvc?view=revision&revision=1003032
> The attached patch is basically similar, but it would fix all other places in Axis2 \
> code where WSDLReader instance is created.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic