Nels Wadycki

Writes Code, Fiction

  • 30:006

  • It wasn’t the easiest thing to find, so I wanted to link to this page on how to change the SOAPAction header of a message in CXF. This is especially useful if you have a SOAPAction header that is = “” and causing issues when trying to connect to a .NET or WCF server with a Java client. (Keywords galore!)

    Here’s the error I was getting:

    javax.xml.ws.soap.SOAPFaultException: The message with Action ” cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).

    And here’s the easy, one-line solution:

    For the most part, you probably don’t even need an interceptor for this. Just
    do something like:

    ((BindingProvider)proxy).getRequestContext().put(
    BindingProvider.SOAPACTION_URI_PROPERTY,
    “my.soap.action”);

    before calling the method. That should do it.

    Thanks, Daniel Kulp.

    Find me, Google: Empty SOAPAction header

  • 30:005

  • 30:004

  • 30:003

  • 30:002

  • I learned: That I can type on my phone for about 8 minutes in 40 degrees before my hands get cold enough that I want to stop. Of course I could do better if it was an emergency. You know, a typing on your phone for extended periods in cold weather emergency.

  • I learned it’s going to be politics as usual this year.

  • 30:001

  • Not sure where the lighthouse was.