You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by "Masahiro Kurosawa (JIRA)" <ji...@apache.org> on 2005/07/29 07:10:18 UTC

[jira] Created: (APOLLO-42) Service class cannot be generated correctly when simple type is used in request/response message.

Service class cannot be generated correctly when simple type is used in request/response message.
-------------------------------------------------------------------------------------------------

         Key: APOLLO-42
         URL: http://issues.apache.org/jira/browse/APOLLO-42
     Project: WSRF
        Type: Bug
  Components: Wsdl2Java  
 Environment: Apache WSRF beta
    Reporter: Masahiro Kurosawa
    Priority: Minor


Service.vm or Wsdl2Java.java cannot process a custom operation whose output messaage is simple type like this:
- - -
<wsdl:definitions ...>
  <wsdl:types>
    <xsd:schema ...>
...
      <xsd:element name="Simple" type="wsa:EndpointReferenceType" />
      <xsd:element name="SimpleResponse" type="wsa:EndpointReferenceType" />
...
    </xsd:schema>
  </wsdl:types>
  
  <wsdl:message name="SimpleRequest">
    <wsdl:part name="SimpleRequest" element="tns:Simple"/>
  </wsdl:message>
  <wsdl:message name="SimpleResponse">
    <wsdl:part name="SimpleResponse" element="tns:SimpleResponse"/>
  </wsdl:message>
...
  <wsdl:portType name="XXXPortType" 
    wsrp:ResourceProperties="...">
...
    <!-- custom operations -->
    <wsdl:operation name="Simple">
      <wsdl:input name="SimpleRequest" message="tns:SimpleRequest" />
      <wsdl:output name="SimpleResponse" message="tns:SimpleResponse" />
...
    </wsdl:operation>
  </wsdl:portType>
...
</wsdl:definitions>
- - -

Generated service class is this:
- - -
1| public SimpleResponseDocument Simple( SimpleDocument requestDoc ) throws ...
2| {
3|   SimpleResponseDocument responseDocument = SimpleResponseDocument.Factory.newInstance();	
4|   SimpleResponseDocument.SimpleResponse  response = responseDocument.addNewSimpleResponse();
5|   //TODO implement method and populate the response object 
6|   return responseDocument;
7| }
- - -

Line #4 should be like this 'cause SimpleResponse message is just EndpointReferenceType type, not complex type "SimpleResponseDocument.SimpleResponse":
- - -
EndpointReferenceType response = responseDocument.addNewSimpleResponse();
- - -

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira