Maximo Open Forum

 View Only

Issue: WebSphere Returning "Internal Error" Instead of Actual SOAP Fault solved the issue

  • 1.  Issue: WebSphere Returning "Internal Error" Instead of Actual SOAP Fault solved the issue

    Posted 10-23-2025 04:29
    Issue: WebSphere Returning "Internal Error" Instead of Actual SOAP Fault
     
    Problem Description
     
    When the SOAPHandler returns a SOAP Fault message, the client receives:
     
    <soapenv:Fault>
      <faultcode>soapenv:Server</faultcode>
      <faultstring>Internal Error</faultstring>
      <detail/>
    </soapenv:Fault>
     
     
    instead of the expected detailed fault such as:
     
    <faultstring>ORA-01031: insufficient privileges</faultstring>
     
     
    WebSphere logs show:
     
    E org.apache.axis2.engine.AxisEngine receive An error was detected during JAXWS processing
    org.apache.axis2.AxisFault: An error was detected during JAXWS processing
        at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:208)
     
    Root Causes
    1️⃣ Fault Unification Feature (Default WebSphere Behavior)
     
    WebSphere masks all SOAP fault messages by default (webservices.unify.faults = true), replacing custom faults with a generic "Internal Error".
     
    2️⃣ SOAP Version Mismatch (Content-Type Header)
     
    If the outbound or custom response is using SOAP 1.2 (Content-Type: application/soap+xml)
    but the WebSphere endpoint expects SOAP 1.1 (Content-Type: text/xml),
    Axis2 cannot parse the message and raises the same "Internal Error".
     
    This often happens when:
     
    The handler or external system manually sets SOAP XML with the wrong namespace or header.
     
    A proxy or middleware modifies the Content-Type header.
     
    Solution
    ✅ Fix 1 - Disable Fault Unification
     
    Go to:
    Servers → Server Types → WebSphere application servers → Application Servers → MXServer → Process Definition → Java Virtual Machine → Custom Properties
     
    Create a new property:
     
    Name: webservices.unify.faults
     
    Value: false
     
    Save to master configuration
     
    Restart the server
     
    In a cluster environment, apply this to all members.
     
    ✅ Fix 2 - Ensure Correct SOAP Version / Content-Type
     
    Check your outgoing or handler-generated SOAP response headers:
     
    For SOAP 1.1, set:
     
    Content-Type: text/xml; charset=utf-8
     
     
    For SOAP 1.2, set:
     
    Content-Type: application/soap+xml; charset=utf-8
     
     
    If your WSDL uses:
     
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
     
     
    → You must use SOAP 1.1 (text/xml).
     
    If your WSDL uses:
     
    <soap12:binding style="document" transport="http://www.w3.org/2003/05/soap/bindings/HTTP/"/>
     
     
    → Then SOAP 1.2 (application/soap+xml) is required

    #Administration
    #Analytics
    #Architecture
    #Assets
    #CivilInfrastructure
    #Customizations
    #EndUser
    #EverythingMaximo
    #HSE/OilandGas
    #Infrastructure
    #Integrations
    #Inventory
    #IoT
    #LifeScience/Calibration
    #Linear
    #MaximoApplicationSuite
    #MaximoForAviation
    #MaximoUserGroups
    #Mobility
    #Nuclear
    #Procurement
    #Reporting
    #Scheduling
    #Security
    #ServiceProvider
    #Spatial
    #Transportation
    #Utilities
    #WorkCenters
    #WorkManagement
    #MaximoVisualInspection
    #Predict
    #Monitor
    #Health
    #Assist
    #Safety

    ------------------------------
    Munikrishnan Raji
    comm-it
    ------------------------------


Featured Podcast
Episode 1 is live: IBM Maximo Application Suite 9.2

Watch or listen to Steven Shull and Phil Runion discuss the practical MAS 9.2 updates Maximo teams should know.

Watch the Podcast
MORE by Naviam Episode 1 cover
Watch the latest episode