As the ws-i basic profile defines the appropriate status codes on successful transmission of the message is "200" or "202" (it is discussed earlier that the "204" is a proper one too). The first problem is that we cannot determine the type (one-way or bi-directional) of the message without parsing it.
What if the operand cannot be identified because of parsing error ? We do not have enough information to decide that it was a one-way or a bi-directional request. In that case it is "better" to handle the request as it would be a bi-directional one, so send back the fault with HTTP status code "500" and the appropriate payload which means to the caller that the transmission is unsuccessful. -> We should parse the request to know how to respond and even it is done, is not enough.
A soultion can be to differenciate the one-way and bi-directional messages on level of transport layer like define different uri to them.
Any thoughts ?