I need to deploy the same web service for each customer. This @javax.jws.WebService
uses Object
as method arguments and return types (resulting in <xs:anyType/>
in wsdl). Each instance of web service is deployed along with customer's jar on the classpath. This jar has known structure and contains JAXB-annotated classes which client wants to handle via my service.
The problem is that when customer passes an instance of his class as method agrument, server-side JAXB context unmarshals it into some strange xerces dom node because (as I understand it) during the deployment time only @WebMethod
and @WebService
annotations were scanned which, as was already said, are all dealing with Object
only.
Simply speaking, I need to hint JAXB at WEB-INF/lib/customer_classes_14586.jar
which means taking some control over JAXBContext
creation during JAX-WS deployment.
Is it possible at all?
Server-specific solutions are fine (glassfish 3.1 with metro ws stack)
UPDATE
I've missed one thing that might be important: I deploy these web services as OSGI bundles at runtime via web admin console. When I press deploy button new jar is programmatically built up from customer library, webservice class, wsdl and manifests. So I could interfere in build process and provide hinting information at this point of time if this helps.