You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Leo Donahue <do...@gmail.com> on 2014/11/03 20:51:07 UTC

[OT] jaxws 2.2 spec

I know this isn't really a Tomcat specific question, but there are alot of
web service people on the list who may want to provide their two cents.

http://download.oracle.com/otndocs/jcp/jaxws-2_2a-mrel4-eval-spec/
Page 10 indicates the following:

"In the absence of customizations, the name of an SEI MUST be the value of
the name attribute of the corresponding wsdl:portType element mapped
according to the rules described in section 2.8."

In bottom up web service development, you can annotate your SEI with an
@WebService property for "name" which indicates the name of the
wsdl:portType

However, I don't see a way to provide that using the wsgen utility.  wsgen
provides a wsdl:port option but that one is part of the wsdl:service. So
while I can name my port in a sub element of wsdl:service, I don't see how
I can tell wsgen to use that name for wsdl:portType.  And I don't see a way
to set the soap:address location via wsgen either (although you can with
the wsconsume toolkit)

In top down web service development, you can specify everything up front,
as long as you remember to name your SEI according to the name used in the
wsdl:portType, and as long as you remember to annotate your SEI with the
same serviceName property used in wsd:service in the .wsdl file.

In bottom up web service development, there is a fear of a changing
contract if there are POJOs laying around that can be used in a build to
regenerate the wsdl.  But it seems like this is the favored approach for
two reasons:

1.  Annotations exist to make creating the wsdl easier
2.  Toolkit utilities exist to make creating the wsdl easier

I don't want to start an argument, but where do most of you find
yourselves?  Are you creating your wsdls from scratch or from a set of Java
classes?

leo