I would request IVAN KRIZGAN as i found him more active in the forum among others to explain the fact.
Haha, this must be the first time I get a personal request!
Also it is "Krizsan", not "Krizgan".
You have read this document, right?
http://faq.javaranch.com/java/EaseUp
Later:
OK, I am back to try to answer your question:
Why don't you need any generated artifacts in the example you showed?
When you create the Service object on row 11 you provide two things:
a) An URL from which the WSDL of the service you want to invoke can be retrieved.
b) The fully qualified name of the WSDL <service> element representing the service you want to invoke.
What happens is something along these lines:
- The WSDL is retrieved.
- The <service> element in the WSDL which you want to invoke is looked up using the QName you provided.
- The <portType> element for the service is located, by first going to the WSDL <binding> element for the <service> in question and then locating the <portType> specified in the <binding> element.
- When you on line 14 retrieve the proxy for the service, a proxy is created using the provided interface.
- The methods in the provided interface are matched to the <operation> elements in the <portType> element retrieved in the above step.
- JAXB beans are generated for the request and response messages.
- The address of the web service is retrieved from the <service> element.
This is the address to which web service requests in the form of SOAP messages are sent to when the service is invoked.
- When you invoke a method on the proxy, like in line 16, the proxy populates appropriate JAXB bean and marshals it to XML and sends the request in a SOAP envelope to the address retrieved above.
- It also receives the response, unmarshals it, retrieves the return data and returns it to the invoker of the proxy.
I admit not having actually looked at any code that implements the above in JAX-WS, but the above should at least explain the principles.
Basically, the artifacts are created at runtime, instead of at the time when wsimport or wsgen is invoked. The difference is that they are disposed when the program shuts down and you never get to see the artifacts.
Reference:
https://jax-ws-architecture-document.dev.java.net/nonav/doc/com/sun/xml/ws/client/package-summary.html
Best wishes!