You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/08/20 22:26:44 UTC

[jira] Commented: (CXF-1756) wsdl2java @WebService annotation on Impl class should be on Interface class JSR181 3.1

    [ https://issues.apache.org/jira/browse/CXF-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624124#action_12624124 ] 

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:

@WebService(
    portName="HelloPort",
    serviceName="HelloService",
    targetNamespace="......,
    wsdlLocation="WEB-INF/........./.wsdl",
    endpointInterface="........Hello"
)
public class HelloImpl implements Hello {




> wsdl2java @WebService annotation on Impl class should be on Interface class JSR181 3.1
> --------------------------------------------------------------------------------------
>
>                 Key: CXF-1756
>                 URL: https://issues.apache.org/jira/browse/CXF-1756
>             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 (http://jira.codehaus.org/browse/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 annotation.
> 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.