You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Ben Pezzei (Created) (JIRA)" <ji...@apache.org> on 2012/03/22 15:06:22 UTC

[jira] [Created] (CXF-4191) RM broken in synchronous Mode

RM broken in synchronous Mode
-----------------------------

                 Key: CXF-4191
                 URL: https://issues.apache.org/jira/browse/CXF-4191
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 2.4.6
         Environment: CXF 2.4.6, Jdk5 (Jrockit), spring 2.5, maven2, eclipse 3.7, Win xp
            Reporter: Ben Pezzei
            Priority: Critical
             Fix For: 2.5.3


RM-Setup without a decoupled endpoint (therefore: synchronous modus)

Client is configured with:
includeOffer=true,
SequenceTerminationPolicyType.maxLength=1
AcknowledgementInterval=0

Server accepts Offers, wsrm-policy:AcknowledgementInterval=0

pseudo-Log:
Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
Res 1: CreateSequenceResponse with seqid 456
Req 2: Sequence with Id 456 & lastMessage-flag & actual content
Res 2: Sequence with Id 123 & lastMessage-flag & SequenceAcknowledgement for Id 456 & actual content
Req 3: TerminateSequence for Id 456
Res 3: standard rm header
Req 4: SequenceAck for 123
Req 5: standard rm header
Res 5: standard rm header

Req 6 from Server: terminateSequence for 123 to w3c.org

There is another "feature": When the server PortImpl throws an Exception, Request/Response goes as follows:

Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
Res 1: CreateSequenceResponse with seqid 456
Req 2: Sequence with Id 456 & lastMessage-flag & actual content
Res 2: Sequence with 456 & lastMessage, Action: NullpointerException, soap:body contains FaulCode & faultstring

After receiving the response, client throws UnknownSequence: The value of wsrm:Identifier is not a known Sequence identifier.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (CXF-4191) RM broken in synchronous Mode

Posted by "Aki Yoshida (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aki Yoshida resolved CXF-4191.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.5.4
                   2.6.1

Fixed the issue for 2.6.1 and 2.5.4 and added a test case in systests/ws-rm//SequenceTest.

This could be ported down to 2.4.x with some manual adjustment if necessary.


                
> RM broken in synchronous Mode
> -----------------------------
>
>                 Key: CXF-4191
>                 URL: https://issues.apache.org/jira/browse/CXF-4191
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.4.6
>         Environment: CXF 2.4.6, Jdk5 (Jrockit), spring 2.5, maven2, eclipse 3.7, Win xp
>            Reporter: Ben Pezzei
>            Assignee: Aki Yoshida
>            Priority: Critical
>              Labels: Ws-RM, rm
>             Fix For: 2.6.1, 2.5.4
>
>
> RM-Setup without a decoupled endpoint (therefore: synchronous modus)
> Client is configured with:
> includeOffer=true,
> SequenceTerminationPolicyType.maxLength=1
> AcknowledgementInterval=0
> Server accepts Offers, wsrm-policy:AcknowledgementInterval=0
> pseudo-Log:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with Id 123 & lastMessage-flag & SequenceAcknowledgement for Id 456 & actual content
> Req 3: TerminateSequence for Id 456
> Res 3: standard rm header
> Req 4: SequenceAck for 123
> Req 5: standard rm header
> Res 5: standard rm header
> Req 6 from Server: terminateSequence for 123 to w3c.org
> There is another "feature": When the server PortImpl throws an Exception, Request/Response goes as follows:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with 456 & lastMessage, Action: NullpointerException, soap:body contains FaulCode & faultstring
> After receiving the response, client throws UnknownSequence: The value of wsrm:Identifier is not a known Sequence identifier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CXF-4191) RM broken in synchronous Mode

Posted by "Aki Yoshida (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254697#comment-13254697 ] 

Aki Yoshida commented on CXF-4191:
----------------------------------

I looked into this issue. As I mentioned in my reply mail to Ben on users@cxfOne, it is not so straightforward.

One approach that I tried is is to switch the operation for the partial response part. The original operation is the oneway SequenceAcknowledgement operation acknowledging the last response message for that sequence. To use the standard outbound chain to serialize the soap body, we need to have the appropriate operation. So, we can replace this oneway SeqAck operation with the out-going TerminateSequence operation and also clear the partial response flag. That will let the outbound chain serialize the TerminateSequence element.

I think this is a simpler approach than filling the soap body of the partial response message explicitly at the RM interceptor.

Let me know if someone has a better alternative.

thanks.
                
> RM broken in synchronous Mode
> -----------------------------
>
>                 Key: CXF-4191
>                 URL: https://issues.apache.org/jira/browse/CXF-4191
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.4.6
>         Environment: CXF 2.4.6, Jdk5 (Jrockit), spring 2.5, maven2, eclipse 3.7, Win xp
>            Reporter: Ben Pezzei
>            Assignee: Aki Yoshida
>            Priority: Critical
>              Labels: Ws-RM, rm
>
> RM-Setup without a decoupled endpoint (therefore: synchronous modus)
> Client is configured with:
> includeOffer=true,
> SequenceTerminationPolicyType.maxLength=1
> AcknowledgementInterval=0
> Server accepts Offers, wsrm-policy:AcknowledgementInterval=0
> pseudo-Log:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with Id 123 & lastMessage-flag & SequenceAcknowledgement for Id 456 & actual content
> Req 3: TerminateSequence for Id 456
> Res 3: standard rm header
> Req 4: SequenceAck for 123
> Req 5: standard rm header
> Res 5: standard rm header
> Req 6 from Server: terminateSequence for 123 to w3c.org
> There is another "feature": When the server PortImpl throws an Exception, Request/Response goes as follows:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with 456 & lastMessage, Action: NullpointerException, soap:body contains FaulCode & faultstring
> After receiving the response, client throws UnknownSequence: The value of wsrm:Identifier is not a known Sequence identifier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (CXF-4191) RM broken in synchronous Mode

Posted by "Aki Yoshida (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aki Yoshida reassigned CXF-4191:
--------------------------------

    Assignee: Aki Yoshida
    
> RM broken in synchronous Mode
> -----------------------------
>
>                 Key: CXF-4191
>                 URL: https://issues.apache.org/jira/browse/CXF-4191
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.4.6
>         Environment: CXF 2.4.6, Jdk5 (Jrockit), spring 2.5, maven2, eclipse 3.7, Win xp
>            Reporter: Ben Pezzei
>            Assignee: Aki Yoshida
>            Priority: Critical
>              Labels: Ws-RM, rm
>
> RM-Setup without a decoupled endpoint (therefore: synchronous modus)
> Client is configured with:
> includeOffer=true,
> SequenceTerminationPolicyType.maxLength=1
> AcknowledgementInterval=0
> Server accepts Offers, wsrm-policy:AcknowledgementInterval=0
> pseudo-Log:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with Id 123 & lastMessage-flag & SequenceAcknowledgement for Id 456 & actual content
> Req 3: TerminateSequence for Id 456
> Res 3: standard rm header
> Req 4: SequenceAck for 123
> Req 5: standard rm header
> Res 5: standard rm header
> Req 6 from Server: terminateSequence for 123 to w3c.org
> There is another "feature": When the server PortImpl throws an Exception, Request/Response goes as follows:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with 456 & lastMessage, Action: NullpointerException, soap:body contains FaulCode & faultstring
> After receiving the response, client throws UnknownSequence: The value of wsrm:Identifier is not a known Sequence identifier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CXF-4191) RM broken in synchronous Mode

Posted by "Daniel Kulp (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp updated CXF-4191:
-----------------------------

    Fix Version/s:     (was: 2.5.3)
    
> RM broken in synchronous Mode
> -----------------------------
>
>                 Key: CXF-4191
>                 URL: https://issues.apache.org/jira/browse/CXF-4191
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.4.6
>         Environment: CXF 2.4.6, Jdk5 (Jrockit), spring 2.5, maven2, eclipse 3.7, Win xp
>            Reporter: Ben Pezzei
>            Priority: Critical
>              Labels: Ws-RM, rm
>
> RM-Setup without a decoupled endpoint (therefore: synchronous modus)
> Client is configured with:
> includeOffer=true,
> SequenceTerminationPolicyType.maxLength=1
> AcknowledgementInterval=0
> Server accepts Offers, wsrm-policy:AcknowledgementInterval=0
> pseudo-Log:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with Id 123 & lastMessage-flag & SequenceAcknowledgement for Id 456 & actual content
> Req 3: TerminateSequence for Id 456
> Res 3: standard rm header
> Req 4: SequenceAck for 123
> Req 5: standard rm header
> Res 5: standard rm header
> Req 6 from Server: terminateSequence for 123 to w3c.org
> There is another "feature": When the server PortImpl throws an Exception, Request/Response goes as follows:
> Req 1: createSequence with offer 123 and acksTo:http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
> Res 1: CreateSequenceResponse with seqid 456
> Req 2: Sequence with Id 456 & lastMessage-flag & actual content
> Res 2: Sequence with 456 & lastMessage, Action: NullpointerException, soap:body contains FaulCode & faultstring
> After receiving the response, client throws UnknownSequence: The value of wsrm:Identifier is not a known Sequence identifier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira