Hi,

I experience a new issue. Let me explain once again what I want to achieve
before going deeper.

Components Diagram

SoapUI (as consumer) -- HTTP --> ESB (dealing with WS-Security Specs) --
HTTPS --> Web Service (implemented in .Net)


Issue Description

If I try to consume the web service through the ESB with SoapUI I never get
a response from the ESB. The ESB console outputs this kind of message:

2008-04-09 18:50:58,984 [10.130.30.202-ddmorginweb] [HttpClientWorker-1] 
WARN SynapseCallbackReceiver Synapse received a response for the request
with message Id : urn:uuid:f17b562f-a619-42ee-ae61-6c5a0d24bde8 But a
callback is not registered (anymore) to process this response

SOAP messages exchanged between components follow:

SOAP Message sent by SoapUI

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
    <soapenv:Header/>
    <soapenv:Body>
        [Not disclosed for security concerns]
    </soapenv:Body>
</soapenv:Envelope>


SOAP Message sent by the ESB (WSDoAllSender)

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing";>
        <wsa:To>[Not disclosed for security concerns]</wsa:To>
       
<wsa:MessageID>urn:uuid:6B27C12D9152A7EA33692465354606522-515329868</wsa:MessageID>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        [Not disclosed for security concerns]
    </soapenv:Body>
</soapenv:Envelope>


SOAP Message sent by the ESB (Rampart)

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
    <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing";>
        <wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
soapenv:mustUnderstand="1">
            <wsu:Timestamp
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="Timestamp-3853415">
                <wsu:Created>2008-04-09T15:50:57.062Z</wsu:Created>
                <wsu:Expires>2008-04-09T15:55:57.062Z</wsu:Expires>
            </wsu:Timestamp>
            <wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="UsernameToken-27471524">
                <wsse:Username>[Not disclosed for security
concerns]</wsse:Username>
                <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest";>[Not
disclosed for security concerns]</wsse:Password>
                <wsse:Nonce>GT9CvQZckbZSBtKNJabPMg==</wsse:Nonce>
                <wsu:Created>2008-04-09T15:50:57Z</wsu:Created>
            </wsse:UsernameToken>
        </wsse:Security>
        <wsa:To>[Not disclosed for security concerns]</wsa:To>
       
<wsa:MessageID>urn:uuid:6B27C12D9152A7EA33692465354606522-515329868</wsa:MessageID>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
    </soapenv:Header>
    <soapenv:Body>
        [Not disclosed for security concerns]
    </soapenv:Body>
</soapenv:Envelope>


SOAP Message received by the ESB (Rampart)

<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <soap:Header>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
       
<wsa:MessageID>urn:uuid:2ad8950e-48a5-4a74-8d99-ad76cc7fc74c</wsa:MessageID>
       
<wsa:RelatesTo>urn:uuid:f17b562f-a619-42ee-ae61-6c5a0d24bde8</wsa:RelatesTo>
       
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
        <wsse:Security>
            <wsu:Timestamp
wsu:Id="Timestamp-f045a341-b821-4a80-a806-6bebad91c4ef">
                <wsu:Created>2008-04-09T15:52:55Z</wsu:Created>
                <wsu:Expires>2008-04-09T15:57:55Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
    </soap:Header>
    <soap:Body>
        [Not disclosed for security concerns]
    </soap:Body>
</soap:Envelope>


SOAP Message received by the ESB (WSDoAllReceiver)

<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <soap:Header>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
       
<wsa:MessageID>urn:uuid:2ad8950e-48a5-4a74-8d99-ad76cc7fc74c</wsa:MessageID>
       
<wsa:RelatesTo>urn:uuid:f17b562f-a619-42ee-ae61-6c5a0d24bde8</wsa:RelatesTo>
       
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
        <wsse:Security>
            <wsu:Timestamp
wsu:Id="Timestamp-f045a341-b821-4a80-a806-6bebad91c4ef">
                <wsu:Created>2008-04-09T15:52:55Z</wsu:Created>
                <wsu:Expires>2008-04-09T15:57:55Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
    </soap:Header>
    <soap:Body>
        [Not disclosed for security concerns]
    </soap:Body>
</soap:Envelope>


SOAP Message received by SoapUI

None


Leads

I noticed that the .net web service (proprietary) fills the RelatesTo
element with a new UUID, I suppose that a valid ID should be the MessageID
element sent by Rampart. So the ESB can't find the callback related to and
this is why SoapUI never gets back the response.

I implemented a .Net client in order to trace messages exchanged.

Request

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>
    <soap:Header>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
       
<wsa:MessageID>urn:uuid:e27c9c99-1488-45f7-9992-f76e70769908</wsa:MessageID>
        <wsa:ReplyTo>
           
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
        </wsa:ReplyTo>
        <wsa:To>[Not disclosed for security concerns]</wsa:To>
        <wsse:Security soap:mustUnderstand="1">
            <wsu:Timestamp
wsu:Id="Timestamp-2943ec42-b0d1-4853-a2c5-a97caa3bd946">
                <wsu:Created>2008-04-10T08:36:11Z</wsu:Created>
                <wsu:Expires>2008-04-10T08:41:11Z</wsu:Expires>
            </wsu:Timestamp>
            <wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
wsu:Id="SecurityToken-f1f7951a-ea82-4a41-8627-72dd9aa7be0c">
                <wsse:Username>********</wsse:Username>
                <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest";>********</wsse:Password>
                <wsse:Nonce>RBjvPCovI6C7M8VNct15KQ==</wsse:Nonce>
                <wsu:Created>2008-04-10T08:36:11Z</wsu:Created>
            </wsse:UsernameToken>
        </wsse:Security>          
    </soap:Header>
    <soap:Body>
        [Not disclosed for security concerns]
    </soap:Body>
</soap:Envelope>
      
      
Response
      
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>
    <soap:Header>
        <wsa:Action>[Not disclosed for security concerns]</wsa:Action>
       
<wsa:MessageID>urn:uuid:a51b94d7-998e-4bd2-b641-834b437ccf03</wsa:MessageID>
       
<wsa:RelatesTo>urn:uuid:e27c9c99-1488-45f7-9992-f76e70769908</wsa:RelatesTo>
       
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
        <wsse:Security>
            <wsu:Timestamp
wsu:Id="Timestamp-dc029518-1378-438c-81ad-49dd1ff66d1c">
                <wsu:Created>2008-04-10T08:38:08Z</wsu:Created>
                <wsu:Expires>2008-04-10T08:43:08Z</wsu:Expires>
            </wsu:Timestamp>
        </wsse:Security>
    </soap:Header>
    <soap:Body>
        [Not disclosed for security concerns]
    </soap:Body>
</soap:Envelope>
      
As we can see, the RelatesTo element is correct when I concume the web
service from a .net client. After many tests I know that the issue is
related to the namespace used for addressing. The request should utilize
http://schemas.xmlsoap.org/ws/2004/08/addressing instead of
http://www.w3.org/2005/08/addressing.

Consequently the question resolving this issue is: How do i do to change the
namespace by the correct one for each request sent by the ESB (and for this
specific proxy if possible)? Could I enforce the addressing namespace via
the WS-Policy file?

Regards,
Alexandre
-- 
View this message in context: 
http://www.nabble.com/Addressing-Namespace-tp16606753p16606753.html
Sent from the Synapse - User mailing list archive at Nabble.com.

Reply via email to