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.