axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Asaf Lahav <asaf.la...@primagrid.com>
Subject WSRF WSDL2JAVA bug?
Date Mon, 13 Feb 2006 21:42:22 GMT
Hi all, 

 

Another problem I encountered using the WSDL2JAVA utility provided by the
WSRF project is that after the process ends, the SERVICE class is not
properly generated.

As you can see from the WSDL file I have a "get" operation defined both
under the BINDING element and under the PORTTYPE element.

For some reason the CalculatorService service class generated which inherits
from an abstract class AbstractCalculatorService doesn't override the "get"
function (which is abstract and has to be overridden).

 

<?xml version="1.0"?>

 

<definitions name="CalculatorDefinition"

 
targetNamespace="http://www.primagrid.com/resource/example/calculator"

             xmlns="http://schemas.xmlsoap.org/wsdl/"

 
xmlns:tns="http://www.primagrid.com/resource/example/calculator"

             xmlns:xsd="http://www.w3.org/2001/XMLSchema"

             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

 
xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperti
es-1.2-draft-01.xsd"

 
xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourcePropert
ies-1.2-draft-01.wsdl"

 
xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetim
e-1.2-draft-01.wsdl"

             xmlns:mex="http://schemas.xmlsoap.org/ws/2004/09/mex"

             xmlns:wsa04="http://schemas.xmlsoap.org/ws/2004/08/addressing">

 

   <import
namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourcePropertie
s-1.2-draft-01.wsdl"

           location="../spec/wsrf/WS-ResourceProperties-1_2-Draft_01.wsdl"/>

 

   <import
namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-
1.2-draft-01.wsdl"

           location="../spec/wsrf/WS-ResourceLifetime-1_2-Draft_01.wsdl"/>

 

   <import namespace="http://schemas.xmlsoap.org/ws/2004/09/mex"

           location="../spec/wsx/WS-MetadataExchange-2004_09.wsdl"/>

 

   <types>

      <schema elementFormDefault="qualified"

 
targetNamespace="http://www.primagrid.com/resource/example/calculator"

              xmlns="http://www.w3.org/2001/XMLSchema"

              xmlns:xsd="http://www.w3.org/2001/XMLSchema"

 
xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime
-1.2-draft-01.xsd"

 
xmlns:wsbf="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-d
raft-01.xsd">

 

         <xsd:import
namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-dr
aft-01.xsd"

 
schemaLocation="../spec/wsrf/WS-BaseFaults-1_2-Draft_01.xsd"/>

 

         <xsd:import
namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-
1.2-draft-01.xsd"

 
schemaLocation="../spec/wsrf/WS-ResourceLifetime-1_2-Draft_01.xsd"/>

 

         <!-- *** Add your custom resource property element definitions here
*** -->

         

                                    <element name="LeftSide"
type="xsd:int"/>

                                    <element name="RightSide"
type="xsd:int"/>

                                    <element name="Result" type="xsd:int"/>

         

         <!-- Resource Properties Document Schema -->        

         <element name="ResourceProperties">

            <complexType>

               <sequence>

               

                  <!-- *** If you wish to implement the
wsrl:ScheduledResourceTermination portType,

                            uncomment the below two lines *** -->

                  

                  <element ref="wsrl:CurrentTime" />

                  <element ref="wsrl:TerminationTime" />

                  

 

                  <!-- *** Add element refs for each of your custom resource
property elements here *** -->

                                                  <element
ref="tns:LeftSide"/>

                                                  <element
ref="tns:RightSide"/>                                       

                                                  <element
ref="tns:Result"/>

                  

                  <!-- *** Uncomment the below any element if you want to
permit resource property elements 

                           with arbitrary names (not generally recommended)
*** -->

                  <!--

                  <any minOccurs="0" maxOccurs="unbounded"
namespace="##other" processContents="lax" />

                  -->

                  

               </sequence>

            </complexType>

         </element>

 

         <!-- *** Add element definitions for custom request/response/fault
types here *** -->         

                        <element name="Execute">

                                    <complexType />

                        </element>

                        <element name="ExecuteResponse">

                                    <complexType />

                        </element>

                        <element name="ExecuteFailedFault">

                                    <complexType>

                                                <complexContent>

                                                <extension
base="wsbf:BaseFaultType" />

                                                </complexContent>

                                    </complexType>

                        </element>

                                     

      </schema>

   </types>

 

   <!-- *** Add message definitions for custom request/response/fault types
here *** -->         

 

            <message name="ExecuteRequest">

                        <part name="ExecuteRequest" element="tns:Execute"/>

            </message>

            

            <message name="ExecuteResponse">

                        <part name="ExecuteResponse"
element="tns:ExecuteResponse"/>

            </message>

            

            <message name="ExecuteFailedFault">

                        <part name="ExecuteFailedFault"
element="tns:ExecuteFailedFault"/>

            </message>

   

   

   

   <portType name="CalculatorPortType"
wsrp:ResourceProperties="tns:ResourceProperties">

         

      <operation name="GetResourceProperty">

         <input name="GetResourcePropertyRequest"
message="wsrpw:GetResourcePropertyRequest"/>

         <output name="GetResourcePropertyResponse"
message="wsrpw:GetResourcePropertyResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault"
message="wsrpw:InvalidResourcePropertyQNameFault"/>

      </operation>

 

      <!-- *** If you wish to implement the WSRP
GetMultipleResourceProperties portType,

               uncomment the below operation block *** -->

      

      <operation name="GetMultipleResourceProperties">

         <input name="GetMultipleResourcePropertiesRequest"
message="wsrpw:GetMultipleResourcePropertiesRequest"/>

         <output name="GetMultipleResourcePropertiesResponse"
message="wsrpw:GetMultipleResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault"
message="wsrpw:InvalidResourcePropertyQNameFault"/>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRP SetResourceProperties
portType,

               uncomment the below operation block *** -->

      

      <operation name="SetResourceProperties">

         <input name="SetResourcePropertiesRequest"
message="wsrpw:SetResourcePropertiesRequest"/>

         <output name="SetResourcePropertiesResponse"
message="wsrpw:SetResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault"
message="wsrpw:InvalidResourcePropertyQNameFault"/>

         <fault name="InvalidSetResourcePropertiesRequestContentFault"
message="wsrpw:InvalidSetResourcePropertiesRequestContentFault"/>

         <fault name="UnableToModifyResourcePropertyFault"
message="wsrpw:UnableToModifyResourcePropertyFault"/>

         <fault name="SetResourcePropertyRequestFailedFault"
message="wsrpw:SetResourcePropertyRequestFailedFault"/>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRP QueryResourceProperties
portType,

               uncomment the below operation block *** -->

      

      <operation name="QueryResourceProperties">

         <input name="QueryResourcePropertiesRequest"
message="wsrpw:QueryResourcePropertiesRequest"/>

         <output name="QueryResourcePropertiesResponse"
message="wsrpw:QueryResourcePropertiesResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrpw:ResourceUnknownFault"/>

         <fault name="InvalidResourcePropertyQNameFault"
message="wsrpw:InvalidResourcePropertyQNameFault"/>

         <fault name="UnknownQueryExpressionDialectFault"
message="wsrpw:UnknownQueryExpressionDialectFault"/>

         <fault name="InvalidQueryExpressionFault"
message="wsrpw:InvalidQueryExpressionFault"/>

         <fault name="QueryEvaluationErrorFault"
message="wsrpw:QueryEvaluationErrorFault"/>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRL
ImmediateResourceTermination portType,

               uncomment the below operation block *** -->

      

      <operation name="Destroy">

         <input message="wsrlw:DestroyRequest"/>

         <output message="wsrlw:DestroyResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrlw:ResourceUnknownFault"/>

         <fault name="ResourceNotDestroyedFault"
message="wsrlw:ResourceNotDestroyedFault"/>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRL
ScheduledResourceTermination portType,

               uncomment the below operation block *** -->

      

      <operation name="SetTerminationTime">

         <input message="wsrlw:SetTerminationTimeRequest"/>

         <output message="wsrlw:SetTerminationTimeResponse"/>

         <fault name="ResourceUnknownFault"
message="wsrlw:ResourceUnknownFault"/>

         <fault name="UnableToSetTerminationTimeFault"
message="wsrlw:UnableToSetTerminationTimeFault"/>

         <fault name="TerminationTimeChangeRejectedFault"
message="wsrlw:TerminationTimeChangeRejectedFault"/>

      </operation>

      

      

      <!-- *** If you wish to implement the WS-MetadataExchange
MetadataExchange portType,

               uncomment the below operation block *** -->

      

      <operation name="GetMetadata" >

         <input message="mex:GetMetadataMsg"

 
wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Request"
/>

         <output message="mex:GetMetadataResponseMsg"

 
wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/GetMetadata/Response
" />

      </operation>

      <operation name="Get" >

         <input message="mex:GetMsg"

 
wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Request" />

         <output message="mex:GetResponseMsg"

 
wsa04:Action="http://schemas.xmlsoap.org/ws/2004/09/mex/Get/Response" />

      </operation>

      

      

      <!-- *** Add operation blocks for custom operations here *** -->


                        <operation name="Execute">

                                    <input name="ExecuteRequest"
message="tns:ExecuteRequest"/>

                                    <output name="ExecuteResponse"
message="tns:ExecuteResponse"/>

                                    <fault name="ExecuteFailedFault"
message="tns:ExecuteFailedFault"/>

                        </operation>

   

 

   </portType>

 

   <binding name="CalculatorSoapHttpBinding" type="tns:CalculatorPortType">

 

      <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>

   

      <operation name="GetResourceProperty">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault"
use="literal"/>

         </fault>

      </operation>

 

      <!-- *** If you wish to implement the WSRP
GetMultipleResourceProperties portType,

               uncomment the below operation block *** -->

      

      <operation name="GetMultipleResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault"
use="literal"/>

         </fault>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRP SetResourceProperties
portType,

               uncomment the below operation block *** -->

      

      <operation name="SetResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault"
use="literal"/>

         </fault>

         <fault name="UnableToModifyResourcePropertyFault">

            <soap:fault name="UnableToModifyResourcePropertyFault"
use="literal"/>

         </fault>

         <fault name="InvalidSetResourcePropertiesRequestContentFault">

            <soap:fault
name="InvalidSetResourcePropertiesRequestContentFault" use="literal"/>

         </fault>

         <fault name="SetResourcePropertyRequestFailedFault">

            <soap:fault name="SetResourcePropertyRequestFailedFault"
use="literal"/>

         </fault>

      </operation>

      

 

      <!-- *** If you wish to implement the WSRP QueryResourceProperties
portType,

               uncomment the below operation block *** -->

      

      <operation name="QueryResourceProperties">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="InvalidResourcePropertyQNameFault">

            <soap:fault name="InvalidResourcePropertyQNameFault"
use="literal"/>

         </fault>

         <fault name="UnknownQueryExpressionDialectFault">

            <soap:fault name="UnknownQueryExpressionDialectFault"
use="literal"/>

         </fault>

         <fault name="InvalidQueryExpressionFault">

            <soap:fault name="InvalidQueryExpressionFault" use="literal"/>

         </fault>

         <fault name="QueryEvaluationErrorFault">

            <soap:fault name="QueryEvaluationErrorFault" use="literal"/>

         </fault>

      </operation>

      

      

      <!-- *** If you wish to implement the WSRL
ImmediateResourceTermination portType,

               uncomment the below operation block *** -->

      

      <operation name="Destroy">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="ResourceNotDestroyedFault">

            <soap:fault name="ResourceNotDestroyedFault" use="literal"/>

         </fault>

      </operation>            

      

    

      <!-- *** If you wish to implement the WSRL
ScheduledResourceTermination portType,

               uncomment the below operation block *** -->

      

      <operation name="SetTerminationTime">

         <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ResourceUnknownFault">

            <soap:fault name="ResourceUnknownFault" use="literal"/>

         </fault>

         <fault name="UnableToSetTerminationTimeFault">

            <soap:fault name="UnableToSetTerminationTimeFault"
use="literal"/>

         </fault>

         <fault name="TerminationTimeChangeRejectedFault">

            <soap:fault name="TerminationTimeChangeRejectedFault"
use="literal"/>

         </fault>

      </operation>

      

 

      <!-- *** If you wish to implement the WS-MetadataExchange
MetadataExchange portType,

               uncomment the below operation block *** -->

      

      <operation name="GetMetadata" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

      </operation>

      <operation name="Get" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

      </operation>

      

 

      <!-- *** Add operation blocks for custom operations here *** -->


       <operation name="Execute" >

             <soap:operation style="document"/>

         <input>

            <soap:body use="literal"/>

         </input>

         <output>

            <soap:body use="literal"/>

         </output>

         <fault name="ExecuteFailedFault">

            <soap:fault name="ExecuteFailedFault" use="literal"/>

         </fault>

      </operation>

   </binding>

 

   <service name="CalculatorService">

      <!-- Note: the port name becomes the service name in the wsdd
generated by Wsdl2Java -->

      <!-- *** Change the port name and the soap:address location below to
reflect the desired endpoint URL *** -->

      <port name="Calculator" binding="tns:CalculatorSoapHttpBinding">

         <soap:address
location="http://localhost:8080/wsrf/services/Calculator" />

      </port>

   </service>

 

</definitions>

 

Asaf Lahav

VP R&D, Prima Grid LTD.

Cellular:  972-54-4717955

Phone:   972-3-6540255

Fax:       972-3-6540254



 


Mime
View raw message