Bastien Sauvan created CXF-4627:
-----------------------------------

             Summary: Topic's namespace of WSN Subscribe requests cannot be 
retrieve in some cases
                 Key: CXF-4627
                 URL: https://issues.apache.org/jira/browse/CXF-4627
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 2.7.0
            Reporter: Bastien Sauvan
            Priority: Minor


Using WS-Notification, it seems that in some cases it is not possible to 
retrieve the namespace of the topic of a Subscribe request.

To reproduce the bug, deploy a simple NotificationProducer service which, in 
the subscribe method, accesses to the otherAttributes map of the 
topicExpressionType object of the Subscribe request like this:

((JAXBElement<TopicExpressionType>) 
subscribeRequest.getFilter().getAny().get(0)).getValue().getOtherAttributes()

If a Subscribe request such as [1] (topic's namespace is defined both in xmlns 
attribute and in a specific attribute) is sent to this NotificationProducer 
service, the map will contain an entry for the namespace of the topic 
"testTopic" defined in the payload.

If a Subscribe request such as [2] (topic's namespace is only defined in the 
xmlns attribute) is sent to this NotificationProducer service, the map will be 
empty even if the namespace of the topic "testTopic" has been defined in the 
xmlns attribute. In such a case, there is no way to retrieve the namespace of 
the topic.


[1]
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
    <soap:Body>
        <ns2:Subscribe xmlns="http://www.w3.org/2005/08/addressing";
            xmlns:ns2="http://docs.oasis-open.org/wsn/b-2"; 
xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2";
            xmlns:ns4="http://docs.oasis-open.org/wsrf/rp-2"; 
xmlns:ns5="http://docs.oasis-open.org/wsn/t-1";
            xmlns:ns6="http://docs.oasis-open.org/wsn/br-2"; 
xmlns:ns7="http://docs.oasis-open.org/wsrf/r-2";>
            <ns2:ConsumerReference>
                <Address>http://localhost:8888/consumer</Address>
                <ReferenceParameters />
            </ns2:ConsumerReference>
            <ns2:Filter>
                <ns2:TopicExpression xmlns:s="http://test.cxf.wsn/subscribe/";
                    
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete";
                    
s:testTopic="http://test.cxf.wsn/subscribe/";>s:testTopic</ns2:TopicExpression>
            </ns2:Filter>
        </ns2:Subscribe>
    </soap:Body>
</soap:Envelope>


[2]
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
    <soap:Body>
        <ns2:Subscribe xmlns="http://www.w3.org/2005/08/addressing";
            xmlns:ns2="http://docs.oasis-open.org/wsn/b-2"; 
xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2";
            xmlns:ns4="http://docs.oasis-open.org/wsrf/rp-2"; 
xmlns:ns5="http://docs.oasis-open.org/wsn/t-1";
            xmlns:ns6="http://docs.oasis-open.org/wsn/br-2"; 
xmlns:ns7="http://docs.oasis-open.org/wsrf/r-2";>
            <ns2:ConsumerReference>
                <Address>http://localhost:8888/consumer</Address>
                <ReferenceParameters />
            </ns2:ConsumerReference>
            <ns2:Filter>
                <ns2:TopicExpression xmlns:s="http://test.cxf.wsn/subscribe/";
                    
Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete";>s:testTopic</ns2:TopicExpression>
            </ns2:Filter>
        </ns2:Subscribe>
    </soap:Body>
</soap:Envelope>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to