cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <>
Subject [jira] Commented: (CXF-1756) wsdl2java @WebService annotation on Impl class should be on Interface class JSR181 3.1
Date Wed, 20 Aug 2008 20:26:44 GMT


Daniel Kulp commented on CXF-1756:

name="" shouldn't be there.  I agree with that. 

The rest are allowed per JAX-WS spec.

In particular:
wsdlLocation is specifically DISCOURAGED from being on the SEI interface and the reference
implementation would not put it there.   If it's on the SEI, you cannot use that sei in a
"code first" type scenario as the wsdl would always have to be pulled in.

targetNamespace also needs to be allowed to be able to model/use implementations where the
"service" is in a different namespace than the portType/binding nodes.

portName isn't even mentioned in the jsr311 spec.  

In anycase, I'll remove the name attribute, but the others need to stay.

Note: I checked a bunch of the impls in the JAX-WS TCK and I see things like:

public class HelloImpl implements Hello {

> wsdl2java @WebService annotation on Impl class should be on Interface class JSR181 3.1
> --------------------------------------------------------------------------------------
>                 Key: CXF-1756
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.1.2
>         Environment: CXF 2.1.2 and 2.0.8
>            Reporter: Bob Fields
>            Priority: Minor
> Looks like XFIRE-496 ( was never fixed or carried
over to CXF.
> I'm getting an error from my Eclipse Jax-ws validator for the code created by wsdl2java:
JSR-181 3.1: name element cannot be used with endpointInterface.
> According to JSR181 section 3.1, if an Interface has an Impl, the @WebService annotation
on the Impl class must only have serviceName and endpointInterface attributes. The other attributes
(name, portName, targetNamespace, wsdlLocation) must be on the Interface class @WebService
> java2wsdl creates this on the Impl class (removed data between quotes) but should only
have serviceName and endpointImpl:
> @javax.jws.WebService(name = "",
>                       serviceName = "",
>                       portName = "",
>                       targetNamespace = "",
>                       wsdlLocation = "",
>                       endpointInterface = "")
> and this on the Interface class (missing serviceName, portName, wsdlLocation):
> @WebService(targetNamespace = "", name = "")
> java2wsdl appears to work correctly with the annotations in the proper place in the SEI
and Impl classes.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message