Olivier Malik Costet created CXF-6291:
-----------------------------------------

             Summary: 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:

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




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

Reply via email to