axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian DePradine (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AXIS2-4529) Axis2 says missing header, but MessageID is not required.
Date Wed, 14 Oct 2009 12:12:31 GMT

     [ https://issues.apache.org/jira/browse/AXIS2-4529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Brian DePradine resolved AXIS2-4529.
------------------------------------

    Resolution: Won't Fix
      Assignee: Brian DePradine

Hi Christian,

Firstly, I believe that you are looking at the older WS-Addressing Member Submission version
ofthe spec. The version you need to look at is the WS-Addressing 1.0 specification. This can
be found here, [1]. In this version of the spec, the wsa:MessageID is also described as optional,
but with one caveat. If the WSDL operation that you are invoking is a request-response operation
then the wsa:MessageID is required. Based on the stack trace you included I believe that is
what is happening in your case.

So, you have two options to get around this problem:

a) Configure your .NET client to send WS-Addressing headers that are compliant with the older
WS-Addressing Member Submission spec, if this is meets your requirements

b) Stick with the WS-Addressing 1.0 specification, and ensure that your .NET client always
sends a wsa:MessageID header when invoking a request-response operation.

[1] http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/

> 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
>            Assignee: Brian DePradine
>            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.


Mime
View raw message