You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Olivier Malik Costet (JIRA)" <ji...@apache.org> on 2015/03/12 15:28:38 UTC

[jira] [Updated] (CXF-6291) Improve versatility of @WSDLDocumentation

     [ https://issues.apache.org/jira/browse/CXF-6291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Malik Costet updated CXF-6291:
--------------------------------------
    Description: 
It would be nice if the @WSDLDocumantation annotation were more versatile.

I'm building an RPC/literal SOAP service. For each method I define, I want the service to document the individual parameters. To that end, I would like to be able to place a wsdl:documentation element on the individual wsdl:part element of the enclosing wsdl:message. CXF does not appear currently to support this.

Sample:

{code:java}
@XmlType( name = "customType" )
//doc either here, or in the @WebMethod parameter... but @WSDLDocumentation is currently not allowed on method parameters
@WSDLDocumentation( "This is the documentation for this type" )
public class SomeType {
   private String value;
   public SomeType();
   @XmlValue
   public String getValue();
}

@WebService
public class MyServiceEndpoint {
   @WebMethod( operationName="someOperation" )
   public void someMethod( 
      @WebParam( name="parameter" )
      //@WSDLDocumentation annotation currently not allowed on method parameter
      //@WSDLDocumentation( "This parameter's documentation" )
      SomeType someType )
   {
      ...
   }
}
{code}

Code should result in WSDL:
{code:xml}
<wsdl:types>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="sampleNamespace">
        <xs:simpleType name="customType">
            <xs:restriction base="xs:string"/>
        </xs:simpleType>
    </xs:schema>
</wsdl:types>
<wsdl:message name="someOperation">
    <wsdl:part name="parameter" type="tns:customType">
        <wsdl:documentation>*I WOULD LIKE THE DOCUMENTATION HERE*</wsdl:documentation>
    </wsdl:part>
</wsdl:message>
<wsdl:message name="someOperationResponse">
</wsdl:message>
<wsdl:operation name="someOperation">
    <wsdl:input message="tns:someOperation" name="someOperation"></wsdl:input>
    <wsdl:output message="tns:someOperationResponse" name="someOperationResponse">
    </wsdl:output>
</wsdl:operation>
{code}


  was:
It would be nice if the @WSDLDocumantation annotation were more versatile.

I'm building an RPC/literal SOAP service. For each method I define, I want the service to document the individual parameters. To that end, I would like to be able to place a wsdl:documentation element on the individual wsdl:part element of the enclosing wsdl:message. CXF does not appear currently to support this.

Sample:

@XmlType( name = "customType" )
//doc either here, or in the @WebMethod parameter... but @WSDLDocumentation is currently not allowed on method parameters
@WSDLDocumentation( "This is the documentation for this type" )
public class SomeType {
   private String value;
   public SomeType();
   @XmlValue
   public String getValue();
}

@WebService
public class MyServiceEndpoint {
   @WebMethod( operationName="someOperation" )
   public void someMethod( 
      @WebParam( name="parameter" )
      //@WSDLDocumentation annotation currently not allowed on method parameter
      //@WSDLDocumentation( "This parameter's documentation" )
      SomeType someType )
   {
      ...
   }
}

Code should result in WSDL:
<wsdl:types>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="sampleNamespace">
        <xs:simpleType name="customType">
            <xs:restriction base="xs:string"/>
        </xs:simpleType>
    </xs:schema>
</wsdl:types>
<wsdl:message name="someOperation">
    <wsdl:part name="parameter" type="tns:customType">
        <wsdl:documentation>I WOULD LIKE THE DOCUMENTATION HERE</wsdl:documentation>
    </wsdl:part>
</wsdl:message>
<wsdl:message name="someOperationResponse">
</wsdl:message>
<wsdl:operation name="someOperation">
    <wsdl:input message="tns:someOperation" name="someOperation"></wsdl:input>
    <wsdl:output message="tns:someOperationResponse" name="someOperationResponse">
    </wsdl:output>
</wsdl:operation>



> Improve versatility of @WSDLDocumentation
> -----------------------------------------
>
>                 Key: CXF-6291
>                 URL: https://issues.apache.org/jira/browse/CXF-6291
>             Project: CXF
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 3.0.4
>            Reporter: Olivier Malik Costet
>            Priority: Minor
>
> It would be nice if the @WSDLDocumantation annotation were more versatile.
> I'm building an RPC/literal SOAP service. For each method I define, I want the service to document the individual parameters. To that end, I would like to be able to place a wsdl:documentation element on the individual wsdl:part element of the enclosing wsdl:message. CXF does not appear currently to support this.
> Sample:
> {code:java}
> @XmlType( name = "customType" )
> //doc either here, or in the @WebMethod parameter... but @WSDLDocumentation is currently not allowed on method parameters
> @WSDLDocumentation( "This is the documentation for this type" )
> public class SomeType {
>    private String value;
>    public SomeType();
>    @XmlValue
>    public String getValue();
> }
> @WebService
> public class MyServiceEndpoint {
>    @WebMethod( operationName="someOperation" )
>    public void someMethod( 
>       @WebParam( name="parameter" )
>       //@WSDLDocumentation annotation currently not allowed on method parameter
>       //@WSDLDocumentation( "This parameter's documentation" )
>       SomeType someType )
>    {
>       ...
>    }
> }
> {code}
> Code should result in WSDL:
> {code:xml}
> <wsdl:types>
>     <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="sampleNamespace">
>         <xs:simpleType name="customType">
>             <xs:restriction base="xs:string"/>
>         </xs:simpleType>
>     </xs:schema>
> </wsdl:types>
> <wsdl:message name="someOperation">
>     <wsdl:part name="parameter" type="tns:customType">
>         <wsdl:documentation>*I WOULD LIKE THE DOCUMENTATION HERE*</wsdl:documentation>
>     </wsdl:part>
> </wsdl:message>
> <wsdl:message name="someOperationResponse">
> </wsdl:message>
> <wsdl:operation name="someOperation">
>     <wsdl:input message="tns:someOperation" name="someOperation"></wsdl:input>
>     <wsdl:output message="tns:someOperationResponse" name="someOperationResponse">
>     </wsdl:output>
> </wsdl:operation>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)