[ https://issues.apache.org/jira/browse/AXIS2-4529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Uldall Pedersen updated AXIS2-4529: --------------------------------------------- Attachment: services.xml axis2.xml > Axis2 says missing header, but MessageID is not required. > --------------------------------------------------------- > > Key: AXIS2-4529 > URL: https://issues.apache.org/jira/browse/AXIS2-4529 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: Addressing, transports > Affects Versions: 1.5 > Environment: Sending from a .NET WCF client to a Axis2 1.5 service. > Reporter: Christian Uldall Pedersen > Priority: Critical > Attachments: axis2.xml, axis2_message.xml, dotnet_message.xml, > services.xml > > Original Estimate: 8h > Remaining Estimate: 8h > > I get the following error when sending from a .NET client to an Axis2 1.5 > service: > 2009-10-12 11:07:05,630 ERROR - A required header representing a Message > Addressing Property is not present > org.apache.axis2.AxisFault: A required header representing a Message > Addressing Property is not present > at > org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:373) > at > org.apache.axis2.addressing.AddressingFaultsHelper.triggerMessageAddressingRequiredFault(AddressingFaultsHelper.java:299) > at > org.apache.axis2.handlers.addressing.AddressingValidationHandler.checkMessageIDHeader(AddressingValidationHandler.java:161) > at > org.apache.axis2.handlers.addressing.AddressingValidationHandler.invoke(AddressingValidationHandler.java:52) > at org.apache.axis2.engine.Phase.invoke(Phase.java:318) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167) > at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:142) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Unknown Source) > I have looked at the SOAP messages and the difference between a Axis2 1.5 > client and a .NET client seems to be a WS-Addressing MessageID header which > is not present on .NET. > The specification states: > /wsa:MessageID > This OPTIONAL element (of type xs:anyURI) conveys the [message id] > property. This element MUST be present if wsa:ReplyTo or wsa:FaultTo is > present. > There is no ReplyTo present, so the header should be optional. > I have attached the Axis2 1.5 message that works, and the .NET one that > doesn't. > The problem is caused by changing from a SOAPActionBasedDispatcher to a > RequestURIOperationDispatcher: > <phaseOrder type="InFlow"> > <!-- System predefined phases --> > <phase name="Transport"> > <handler name="RequestURIBasedDispatcher" > > class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"> > <order phase="Transport"/> > </handler> > <handler name="SOAPActionBasedDispatcher" > > class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"> > <order phase="Transport"/> > </handler> > to > <phaseOrder type="InFlow"> > <!-- System predefined phases --> > <phase name="Transport"> > <handler name="RequestURIBasedDispatcher" > > class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"> > <order phase="Transport"/> > </handler> > <handler name="RequestURIOperationDispatcher" > > class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"> > <order phase="Transport"/> > </handler> > I have attached the new axis2.xml and services.xml -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.