My C# client (.dotNet 2.0 and WSE 3.0) generated the following SOAP
message.
<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action />
<wsa:MessageID>
urn:uuid:8a8309c1-a21d-48ff-aa52-2647bb377cfc
</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>
http://schemas.xmlsoap.org/ws/2004/0...role/anonymous
</wsa:Address>
</wsa:ReplyTo>
<wsa:To>
http://localhost:8080/axis2/services/CMBWebService
</wsa:To>
<wsse:Security>
<wsu:Timestamp
wsu:Id="Timestamp-010f1103-934c-44fb-8778-1251c874e66e">
<wsu:Created>2006-09-20T23:12:21Z</wsu:Created>
<wsu:Expires>2006-09-20T23:17:21Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<MyAppRequest>
....
</MyAppRequest>
</soap:Body>
</soap:Envelope>
The reply message from Axis2 server is
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
<soapenv:Body>
<MyAppReply>
....
</MyAppReply>
</soapenv:Body>
</soapenv:Envelope>
The C# client encountered this exception
Unhandled Exception:
Microsoft.Web.Services3.Addressing.AddressingFault : Message Information
Header Required ---Micros
oft.Web.Services3.Addressing.AddressingFormatExcep tion: WSE202: The
Action header is required when other address headers
are present.
--- End of inner exception stack trace ---
at Microsoft.Web.Services3.Addressing.AddressingHeade rs.CheckValid()
at
Microsoft.Web.Services3.Addressing.AddressingHeade rs.Load(SoapEnvelope
envelope)
at Microsoft.Web.Services3.SoapEnvelope.PostLoad(Bool ean
loadAddressing)
at Microsoft.Web.Services3.SoapEnvelope.PostLoad()
at Microsoft.Web.Services3.SoapEnvelope.Load(XmlReade r reader)
at Microsoft.Web.Services3.Mime.XopDocument.LoadStart Part(MimePart
startPart)
at
Microsoft.Web.Services3.Mime.XopDocument.LoadFromX opPackage(String
contentType, Stream stream)
at
Microsoft.Web.Services3.Xml.SoapEnvelopeReaderWrap per..ctor(SoapClientMessage message, String messageContentType)
at
Microsoft.Web.Services3.WebServicesClientProtocol. GetReaderForMessage(SoapClientMessage message, Int32 bufferSize)
at
System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse(SoapClientMessage message, WebResponse response,
Stream responseStream, Boolean asyncCall)
at
System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String
methodName, Object[] parameters)
I guess it's about some configuration on client side or server side.
Can someone tell me what the fix is?
Thanks in advance,
vick