I'm trying to invoke an external service that fully supports WS-Addressing
but it is complaining that I'm missing the "MessageID" header.  I verified
that the soap request going off to the service does have the wsa:To and
wsa:Action headers in place, but _not_ the wsa:MessageID.    Has anyone else
had issues with this?   I'm using the trunk as of a few days ago.

I had a look at org.apache.ode.axis2.ExternalService and I don't see any
calls to Options.setMessageId() while setting up the Axis2 soap client.
This implies to me that Ode doesn't support that header, hence WS-Addressing
completely, but I might be missing something.

Here is the header of the message being sent from Ode to the  external
service:
<?xml version='1.0' encoding='UTF-8'?>
  <soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";>
     <soapenv:Header>
        <addr:To xmlns:addr="http://www.w3.org/2005/08/addressing";>
http://server1:8889/vhi-ws/model/CICSAcctsDemo</addr:To>
        <addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing
"></addr:Action>
     </soapenv:Header>
     <soapenv:Body>
...


Here is the response from the server:
<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope xmlns:vhi-fault="urn:xmlns:foo:vhi-ws:vhi-fault"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; xmlns:wsa="
http://www.w3.org/2005/08/addressing"; xmlns:wsrf-bf="
http://docs.oasis-open.org/wsrf/bf-2"; xmlns:wsrf-r="
http://docs.oasis-open.org/wsrf/r-2";
xmlns:vhi-resource="urn:xmlns:foo:vhi-ws:vhi-resource">
     <soapenv:Header>

<wsa:MessageID>urn:uuid:e2a82fc9-2a7d-4100-ade7-0911ee502aa5</wsa:MessageID>
        <wsa:To></wsa:To>
        <wsa:RelatesTo></wsa:RelatesTo>

<wsa:Action>urn:xmlns:foo:vhi-ws:CICSAcctsDemo/CICSAcctsDemoPortType/GetAccountHistoryResponse</wsa:Action>
        <wsa:FaultDetail>
           <wsa:ProblemHeaderQName>wsa:MessageID</wsa:ProblemHeaderQName>
        </wsa:FaultDetail>
     </soapenv:Header>
     <soapenv:Body>
        <soapenv:Fault>
           <faultcode>wsa:MessageAddressingHeaderRequired</faultcode>
           <faultstring>A required header representing a Message Addressing
Property is not present.</faultstring>
           <detail>
              <vhi-fault:MessageAddressingHeaderRequiredFault>
                 <wsrf-bf:Timestamp>2007-07-10T12:09:07</wsrf-bf:Timestamp>
                 <wsrf-bf:Originator>
                    <wsa:Address>
http://server1:8889/vhi-ws/model/CICSAcctsDemo</wsa:Address>
                 </wsrf-bf:Originator>
                 <wsrf-bf:Description>A required header representing a
Message Addressing Property is not present.</wsrf-bf:Description>
              </vhi-fault:MessageAddressingHeaderRequiredFault>
           </detail>
        </soapenv:Fault>
     </soapenv:Body>
  </soapenv:Envelope>


Thanks,
Rich

Reply via email to