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

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

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.


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

Posted by "Bob Fields (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624135#action_12624135 ] 

Bob Fields commented on CXF-1756:
---------------------------------

Removing name from the generated Impl was enough to get rid of the validation error. I guess I was interpreting the 'only' part too literally.

> 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.


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

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp reassigned CXF-1756:
--------------------------------

    Assignee: Daniel Kulp

> 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
>            Assignee: Daniel Kulp
>            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.


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

Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang closed CXF-1756.
-----------------------------


> 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
>            Assignee: Daniel Kulp
>            Priority: Minor
>             Fix For: 2.1.3
>
>
> 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.


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

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1756.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.3

> 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
>            Assignee: Daniel Kulp
>            Priority: Minor
>             Fix For: 2.1.3
>
>
> 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.


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

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
    [ 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.