JAXRPC 1.1 states that the DII client model should support one-way invocations. According to the spec, a client thread shouldn't block waiting for the completion of the remote invocation. In the SOAP/HTTP case, the client should block until a HTTP response code has been received. After using async calls (CallImpl.invokeOneWay) for a while in JBossWS, I realised that the client thread is blocked until the remote invocation completes on the server side. Is this behaviour JAXRPC compliant?

Yes, it does do as the spec describes, blocks for an http response. So the issue is when the server responds. If the web service is a one-way service, then there is the possibility that the server could optimize such a condition, and return a status before actually processing the request. However, it is required to validate that the content of the request is valid, which means parsing and unmarshalling must occur. This optimization is optional, although I think it would be a nice feature. Feel free to open a feature request in jira for that.