URL-encoded content ID for MTOM attachments causes problems with web service clients

Solution Verified - Updated -

Issue

  • After updating from EAP 6.2.3 to 6.3.3, we noticed that the content-id that is generated for MTOM attachments returned by our web service has changed. It now additionally contains the http:// prefix to the namespace.

  • This change causes problems with certain web service clients that do not take into account that the content-id in the SOAP body is URL-encoded ("...@http%3A%2F%2F...") , whereas the following content-id MIME header is written like ...http://....

  • A concrete example is SoapUI 5.0.0, which fails to expand the MTOM attachment prior to schema validation (and as a result, reports a schema compliance violation).

The issue is similar to this, https://issues.apache.org/jira/browse/CXF-2669.
The probable commit responsible for this change in behavior is the following:

https://github.com/apache/cxf/commit/5f89d20234c3786d354f8ab1f2b4ee1f9a421490.

  • We have a great number of web service clients using different technologies and do not want to risk breaking compatibility with existing services. Is it possible to override the content-id without using a performance-degrading handler/interceptor, and without having to redesign our JAX-WS-centered web service code ?

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.3.3
  • JBossWS-CXF

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content