dev@glassfish.java.net

Re: Question about port-info subelement of service-ref in sun descriptor files.

From: Changshin Lee <iasandcb_at_gmail.com>
Date: Thu, 6 Apr 2006 12:27:49 +0900

Hi Peter,

Although I'm not an expert in GF, based on my experience and
knowledge on JSR 109 I'd like to mention about your points.

> * It would seem that if the port-info/service-endpoint-interface
> field is filled in, the valid values are exactly one of the service-
> endpoint interfaces found in the port-component-refs defined in
> webservices.xml (or presumably annotation equivalent though I
> haven't check this part yet) for the module.

That's the case of "port-component-link". In other words, port-info/
sei in Sun DD maps to service-ref/port-comp-ref/sei in standard DD on
client side, not server side (i.e. webservices.xml). If you use "port-
component-link" in standard client DD, then you can validate it with
its corresponding service's webservices.xml.

Actually validation of SEI has a lot to do with JAX-RPC mapping (or
implicit JAX-RPC mapping rules). If JAX-RPC mapping specifies what
WSDL port type maps to what Java SEI, then the SEI is valid for port-
info/sei.

> However, port-info/wsdl-port appears to be an alternative valid way
> to specifying which port the extra port-info data refers to. In
> this case, where exactly are the valid values for the namespaceURI
> and localpart fields coming from? It appears these would be
> derived from the WSDL file that the particular client refers to,
> but can someone elaborate exactly which WSDL fields they come
> from. In the case of multiple WSDL files packaged with the module,
> how is the specific WSDL file containing this information located?
> (for example, are all WSDL's scanned until a match for the service-
> name is found, or ???)

In case that your service-ref is WSDL-based (which are most cases),
then service-ref/wsdl-file is used to specify one WSDL file for the
reference. WSDL port QNames are unique in one WSDL file, so you can
validate a wsdl-port value with all the port names in the WSDL.
Again, even if multiple WSDL files are packaged in one client module,
one service-ref is linked to only one WSDL.

I hope these help you,

Ias