[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-7234) JAX-WS generated portType implementation has incorrect @WebService annotation

Lukas Jungmann (JIRA) jira-events at lists.jboss.org
Fri Oct 1 06:14:39 EDT 2010


    [ https://jira.jboss.org/browse/JBIDE-7234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12554571#action_12554571 ] 

Lukas Jungmann commented on JBIDE-7234:
---------------------------------------

- targetNamespace - the attribute is not mandatory, doesn't have to be the same as the one in endpoint interface and it is up to the developer whether he wants to set it or not in the implementation class, in any cases it is applied only to wsdl:service and associated XML elements and for the rest (wsdl:portType and associated XML elements) the targetNamespace from the service endpoint interface is used

- name attribute cannot be added to @WebService in this particular case since JSR-181 explicitly states that if the ws implementation bean
references a service endpoint interface, the @WebService annotation MUST NOT include the name annotation element. - see JBIDE-6495 and/or JSR-181, sect. 3.1 for more details

- serviceName - used as the name of the wsdl:service, nothing more, perhaps here is some place for minor improvement

All in all, current behaviour is, IMHO, expected and correct (as defined in relevant JAX-WS specifications) from tooling perspective

> JAX-WS generated portType implementation has incorrect @WebService annotation
> -----------------------------------------------------------------------------
>
>                 Key: JBIDE-7234
>                 URL: https://jira.jboss.org/browse/JBIDE-7234
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Webservices
>    Affects Versions: 3.2.0.M2
>         Environment: JBTools 3.2.0.beta1 nightly build.
>            Reporter: Gary Brown
>            Assignee: Brian Fitzpatrick
>         Attachments: PurchaseGoodsProcess-CreditAgency.zip
>
>
> When generating a Java Bean skeleton web service, based on a WSDL definition, the port type implementation class has an incorrect annotation.
> The port type implementation has:
> @WebService(serviceName = "CreditAgencyInterface", endpointInterface = "org.example.purchasing.creditAgency.CreditAgencyInterface")
> but the interface associated with the implementation defines:
> @WebService(name = "CreditAgencyInterface", targetNamespace = "http://www.jboss.org/examples/creditAgency")
> The end result is that when accessing the WSDL for the endpoint, once deployed to the JBossAS server, the WSDL has an incorrect target namespace and service name - service name is 'CreditAgencyInterface' instead of 'CreditAgencyService', and the target namespace is autogenerated based on the Java package name of the implementation class.
> When the annotation in the port type implementation's annotation was changed to be:
> @WebService(name = "CreditAgencyInterface", serviceName="CreditAgencyService", targetNamespace="http://www.jboss.org/examples/creditAgency", endpointInterface = "org.example.purchasing.creditAgency.CreditAgencyInterface")
> This fixes the serviceName attribute, and adds a 'name' attribute to be the port type. It also specifies explicitly the target namespace.
> Note: tried using jax-ws version 2.0 and 2.1, with same result.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list