There is no portable solution. There's a few ways to do it in a stack specific method but the most generic way (assuming anonymous wsdl access) is to use an http client to perform an http get message to the invocation point with a ?Wsdl.
I was doing something similar, a jaxws handler that detected one way transactions. This too is not easily known in a portable way and thus access to the wsdl is really the most reliable method to do so.