SOAP envelopes can be modeled as XML documents (document/literal) or as XML-RPC methods (RPC/encoded). Microsoft's .NET platform leans towards the document/literal model and JAXM/SAAJ targets an XML-messaging model, so the two are a fairly good match.
.NET extends the standard set of SOAP headers to include its own set and .NET only supports Direct Internet Message Encapsulation (DIME) attachments, so these two issues must be taken into account when processing .NET SOAP messages.
Apache Axis for Java supports document/literal encoding and uses Apache's Formatting Objects Processor (FOP) to support different output formats, including DIME. These features make Axis a powerful framework for supporting .NET and Java-generated SOAP messages.