I am using the contract-first approach to web service development on WebLogic 10.3.5, and I need my own WSDL published with the service, not the WSDL generated by JAX-WS. From my experiments, it seems that the wsdlLocation parameter on the @WebService annotation is ignored unless the compiledWsdl option is used when building the service using jwsc Ant task. I finally did get it to work in this fashion, but only if I placed my WSDL in a "wsdls" folder in the web application root (a sibling of WEB-INF). It also seems like the "wsdls" folder is hard-coded into WebLogic's Ant tasks, since the wsdlc Ant task automatically puts the generated WSDL in this folder in the JWS jar that is generated when explode=false. So I think you must have this as your annotated wsdlLocation, otherwise the jwsc Ant task fails when generating the web service with the compiledWsdl option.
My requirements are simple. I would like to:
1. Write my WSDL
2. Generate code from it using wsdlc and explode=true, so I get source code in packages
3. Generate the service using this source code, not a jar
4. Have the service publish my WSDL using the wsdlLocation parameter of the @WebService attribute, taking the hand-coded WSDL from a folder of my choice
As per wls documentation I could not find a way and more over compiledWSDL attribute requires a jar file.
May be worth opening Service Request to see if the any other workaround or if not file enhancement request.