JAXWS Soap Handler Large MTOM Attachments

后端 未结 2 1445
北荒
北荒 2020-12-22 01:10

The JAXWS implementation within IBM WebSphere 7 and 8 appears to have some problems when it comes to soap handlers and large MTOM attachments. It appears that the entire mes

2条回答
  •  感情败类
    2020-12-22 01:18

    Here is how to access the headers without reading the entire message using the WebSphere built-in JAX-WS implementation.

    public boolean handleMessage(SOAPMessageContext context) {
    
        AttributedURI messageIdURI = (AttributedURI)context.get("com.ibm.wsspi.wsaddressing.inbound.MessageID");
        String messageId = "";
        if (messageIdURI != null && messageIdURI.getURI() != null) {
            messageId = messageIdURI.getURI().toString();
        }
        EndpointReference fromApplicationEPR = (EndpointReference)context.get("com.ibm.wsspi.wsaddressing.inbound.FromEPR");
        String fromApplication = "";
        if (fromApplicationEPR != null && fromApplicationEPR.getAddress() != null &&
            fromApplicationEPR.getAddress().getURI() != null) {
            fromApplication = fromApplicationEPR.getAddress().getURI().toString();
        }
    
        ...
    
        return true;
    }
    

    Note that this differs based on the precise JAX-WS implementation. I'll post how to do this via Apache CXF when I get a chance. Here are the needed imports for the above code:

    import com.ibm.ws.wsaddressing.AttributedURI;
    import com.ibm.ws.wsaddressing.EndpointReference;
    

提交回复
热议问题