[ 
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

        

Reply via email to