[ 
https://issues.apache.org/jira/browse/CXF-5354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13804783#comment-13804783
 ] 

Jesse Pangburn commented on CXF-5354:
-------------------------------------

I ran the test module and it was successful.  I also ran it in my own system 
where I initially found the problem and verified that faults (from a couple 
different causes) are sent back to the faultTo address, and successful replies 
are sent to the replyTo (whether using anonymous or a callback URL).  Looks all 
good to me, thanks for the super quick fix Dan!!!

> faultTo address is ignored when fault is thrown
> -----------------------------------------------
>
>                 Key: CXF-5354
>                 URL: https://issues.apache.org/jira/browse/CXF-5354
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.7.7
>            Reporter: Jesse Pangburn
>            Assignee: Daniel Kulp
>             Fix For: 2.7.8, 2.6.11
>
>         Attachments: jaxws_dispatch_provider_test_faultto.zip
>
>
> I have a Provider based service and find that with WS-Addressing enabled, it 
> doesn't handle FaultTo addresses properly.  The case I found that caused this 
> is when I turned on Schema Validation and sent a request that doesn't match 
> the schema, then it throws a fault but instead sends the reply to the replyTo 
> address.  I then tried using a bogus mustUnderstand header to cause a fault 
> to see if it was just related to the schema validation, but it has the same 
> problem.
> Here's a sample request message to cause this (using mustUnderstand header so 
> you don't have to setup schema validation to test):
> {code:xml}
> <?xml version="1.0"?>
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
>   <soap:Header>
>     <Action xmlns="http://www.w3.org/2005/08/addressing";>anything</Action>
>     <MessageID 
> xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:2eae8433-d42a-4749-b053-f5b5805fe8e9</MessageID>
>     <To 
> xmlns="http://www.w3.org/2005/08/addressing";>http://localhost:9003/xdsregistryb</To>
>     <ReplyTo xmlns="http://www.w3.org/2005/08/addressing";>
>       <Address>http://localhost:9003/replyBack</Address>
>     </ReplyTo>
>     <FaultTo xmlns="http://www.w3.org/2005/08/addressing";>
>       <Address>http://localhost:9003/faultBack</Address>
>     </FaultTo>
>     <bogus soap:mustUnderstand="true">this junk will fault</bogus>
>   </soap:Header>
>   <soap:Body>
>     <junk/>
>   </soap:Body>
> </soap:Envelope>
> {code}
> Note the ReplyTo is http://localhost:9003/replyBack and the FaultTo is 
> http://localhost:9003/faultBack.  When I send to my Provider service, the log 
> file shows the response going to the replyBack url, but the To address in 
> WS-Addressing header shows the faultBack url- so it's halfway right!  This is 
> the case with both schema validation faults and the above example of bogus 
> mustUnderstand header.
> Here's the Wireshark network trace (so there is no possibility of bad logging 
> being the issue):
> {quote}
> POST /replyBack HTTP/1.1
> Content-Type: application/soap+xml; charset=UTF-8
> Accept: */*
> User-Agent: Apache CXF 2.7.7
> Cache-Control: no-cache
> Pragma: no-cache
> Host: localhost:9003
> Connection: keep-alive
> Content-Length: 706
> <soap:Envelope 
> xmlns:soap="http://www.w3.org/2003/05/soap-envelope";><soap:Header><Action 
> xmlns="http://www.w3.org/2005/08/addressing"/><MessageID 
> xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:6a5190fc-256f-428c-9e5e-8b79520bbf0c</MessageID><To
>  
> xmlns="http://www.w3.org/2005/08/addressing";>http://localhost:9003/faultBack</To><RelatesTo
>  
> xmlns="http://www.w3.org/2005/08/addressing";>urn:uuid:2eae8433-d42a-4749-b053-f5b5805fe8e9</RelatesTo></soap:Header><soap:Body><soap:Fault><soap:Code><soap:Value>soap:MustUnderstand</soap:Value></soap:Code><soap:Reason><soap:Text
>  xml:lang="en">MustUnderstand headers: [bogus] are not 
> understood.</soap:Text></soap:Reason></soap:Fault></soap:Body></soap:Envelope>
> {quote}
> Sorry, wiki markup is making bogus in red, not intentional.  See how the 
> address listed at the top doesn't match the WS-Addressing To address?  With 
> anonymous replyTo address then you get the fault back on the same synchronous 
> request channel, and it still shows the /faultBack url in the To address.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to