You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Michael Moser (JIRA)" <ji...@apache.org> on 2006/11/20 11:47:01 UTC

[jira] Created: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

WSDL2Java generates client and server code that both yield compile errors
-------------------------------------------------------------------------

                 Key: AXIS2-1750
                 URL: http://issues.apache.org/jira/browse/AXIS2-1750
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.1
            Reporter: Michael Moser


When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:

ClassifiedServiceMessageReceiverInOnly.java line 296
The method getNamespaceURI() is undefined for the type OMNamespace

ClassifiedServiceMessageReceiverInOut.java line 343
The method getNamespaceURI() is undefined for the type OMNamespace

Both methods read:
-----------------------
...
/**
* A utility method that copies the namepaces from the SOAPEnvelope
*/
private java.util.Map 
getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
java.util.Map returnMap = new java.util.HashMap();
java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
while (namespaceIterator.hasNext()) {
org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
namespaceIterator.next();
returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
method
}
return returnMap;
}
...
-----------------------

Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
-----------------------
...
//adding SOAP headers
_serviceClient.addHeadersToEnvelope(env); // <<< does not exist
...
-----------------------
I assume that should read "addHeader(env)" instead.

The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
-----------------------
<wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
       xmlns:tns="http://ws.apache.org/axis2"

       xmlns:axis2="http://ws.apache.org/axis2"
       xmlns:ns1="http://org.apache.axis2/xsd" 
 
       targetNamespace="http://ws.apache.org/axis2">

<wsdl:types>
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
         targetNamespace="http://org.apache.axis2/xsd" 
         elementFormDefault="unqualified" 
         attributeFormDefault="unqualified">

    <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
    <xs:complexType name="ClassifiedAd">
      <xs:sequence>
        <xs:element type="xs:int" name="id" />
        <xs:element type="xs:string" name="content" />
        <xs:element type="xs:string" name="endDate" />
        <xs:element type="xs:string" name="startDate" />
      </xs:sequence>
    </xs:complexType>

    <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
    <xs:complexType name="ClassifiedList">
      <xs:sequence>
        <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>

    <xs:element name="createNewAdRequest">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="xs:string" name="content" />
          <xs:element type="xs:string" name="endDate" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    <xs:element name="createNewAdResponse">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="xs:int" name="newAdId" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    <xs:element name="editExistingAdRequest">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="ns1:ClassifiedAd" name="existingAd" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    <xs:element name="editExistingAdResponse">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="xs:boolean" name="wasSuccessful" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    <xs:element name="getExistingAdsRequest">
      <xs:complexType />
    </xs:element>

    <xs:element name="getExistingAdsResponse">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    <xs:element name="finalizeIssueRequest">
      <xs:complexType>
        <xs:sequence>
          <xs:element type="xs:string" name="issueToFinalize" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

  </xs:schema>

</wsdl:types>

<wsdl:message name="createNewAdRequestMessage">
  <wsdl:part name="part1" element="ns1:createNewAdRequest" />
</wsdl:message>

<wsdl:message name="createNewAdResponseMessage">
  <wsdl:part name="part1" element="ns1:createNewAdResponse" />
</wsdl:message>

<wsdl:message name="getExistingAdsResponseMessage">
  <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
</wsdl:message>

<wsdl:message name="editExistingAdRequestMessage">
  <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
</wsdl:message>

<wsdl:message name="getExistingAdsRequestMessage">
  <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
</wsdl:message>

<wsdl:message name="mainRequestMessage">
  <wsdl:part name="part1" element="ns1:mainRequest" />
</wsdl:message>

<wsdl:message name="editExistingAdResponseMessage">
  <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
</wsdl:message>

<wsdl:message name="finalizeIssueRequestMessage">
  <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
</wsdl:message>

<wsdl:portType name="ClassifiedServicePortType">

  <wsdl:operation name="finalizeIssue">
    <wsdl:input message="tns:finalizeIssueRequestMessage" />
  </wsdl:operation>

  <wsdl:operation name="createNewAd">
    <wsdl:input message="tns:createNewAdRequestMessage" />
    <wsdl:output message="tns:createNewAdResponseMessage" />
  </wsdl:operation>

  <wsdl:operation name="editExistingAd">
    <wsdl:input message="tns:editExistingAdRequestMessage" />
    <wsdl:output message="tns:editExistingAdResponseMessage" />
  </wsdl:operation>

  <wsdl:operation name="getExistingAds">
    <wsdl:input message="tns:getExistingAdsRequestMessage" />
    <wsdl:output message="tns:getExistingAdsResponseMessage" />
  </wsdl:operation>

</wsdl:portType>

<wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">

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

  <wsdl:operation name="createNewAd">
    <soap:operation soapAction="createNewAd" style="document" />
    <wsdl:input>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:input>
    <wsdl:output>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:output>
  </wsdl:operation>

  <wsdl:operation name="finalizeIssue">
    <soap:operation soapAction="finalizeIssue" style="document" />
    <wsdl:input>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:input>
  </wsdl:operation>

  <wsdl:operation name="editExistingAd">
    <soap:operation soapAction="editExistingAd" style="document" />
    <wsdl:input>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:input>
    <wsdl:output>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:output>
  </wsdl:operation>

  <wsdl:operation name="getExistingAds">
    <soap:operation soapAction="getExistingAds" style="document" />
    <wsdl:input>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:input>
    <wsdl:output>
      <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
    </wsdl:output>
  </wsdl:operation>

</wsdl:binding>

<wsdl:service name="ClassifiedService">
  <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
    <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
  </wsdl:port>
</wsdl:service>

</wsdl:definitions>
-----------------------

Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
-----------------------
set CURRENT_DIR=%cd%
setlocal EnableDelayedExpansion

if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .

set AXIS2_CLASS_PATH=.
FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c

cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
"%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service

endlocal
pause
-----------------------

Windows batch file "generateClientFromWSDL.bat" used to generate the client:
-----------------------
set CURRENT_DIR=%cd%
setlocal EnableDelayedExpansion

if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .

set AXIS2_CLASS_PATH=.
FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c

cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
"%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client

endlocal
pause
-----------------------

Regards,
Michael

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Amila Chinthaka Suriarachchi resolved AXIS2-1750.
-------------------------------------------------


already resolved

> WSDL2Java generates client and server code that both yield compile errors
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-1750
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1750
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>         Assigned To: Amila Chinthaka Suriarachchi
>
> When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:
> ClassifiedServiceMessageReceiverInOnly.java line 296
> The method getNamespaceURI() is undefined for the type OMNamespace
> ClassifiedServiceMessageReceiverInOut.java line 343
> The method getNamespaceURI() is undefined for the type OMNamespace
> Both methods read:
> -----------------------
> ...
> /**
> * A utility method that copies the namepaces from the SOAPEnvelope
> */
> private java.util.Map 
> getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
> java.util.Map returnMap = new java.util.HashMap();
> java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
> while (namespaceIterator.hasNext()) {
> org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
> namespaceIterator.next();
> returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
> method
> }
> return returnMap;
> }
> ...
> -----------------------
> Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
> -----------------------
> ...
> //adding SOAP headers
> _serviceClient.addHeadersToEnvelope(env); // <<< does not exist
> ...
> -----------------------
> I assume that should read "addHeader(env)" instead.
> The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
> -----------------------
> <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>        xmlns:tns="http://ws.apache.org/axis2"
>        xmlns:axis2="http://ws.apache.org/axis2"
>        xmlns:ns1="http://org.apache.axis2/xsd" 
>  
>        targetNamespace="http://ws.apache.org/axis2">
> <wsdl:types>
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>          targetNamespace="http://org.apache.axis2/xsd" 
>          elementFormDefault="unqualified" 
>          attributeFormDefault="unqualified">
>     <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
>     <xs:complexType name="ClassifiedAd">
>       <xs:sequence>
>         <xs:element type="xs:int" name="id" />
>         <xs:element type="xs:string" name="content" />
>         <xs:element type="xs:string" name="endDate" />
>         <xs:element type="xs:string" name="startDate" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>     <xs:complexType name="ClassifiedList">
>       <xs:sequence>
>         <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element name="createNewAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="content" />
>           <xs:element type="xs:string" name="endDate" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="createNewAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:int" name="newAdId" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedAd" name="existingAd" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:boolean" name="wasSuccessful" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="getExistingAdsRequest">
>       <xs:complexType />
>     </xs:element>
>     <xs:element name="getExistingAdsResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="finalizeIssueRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="issueToFinalize" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>   </xs:schema>
> </wsdl:types>
> <wsdl:message name="createNewAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdRequest" />
> </wsdl:message>
> <wsdl:message name="createNewAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdResponse" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsResponseMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
> </wsdl:message>
> <wsdl:message name="editExistingAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsRequestMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
> </wsdl:message>
> <wsdl:message name="mainRequestMessage">
>   <wsdl:part name="part1" element="ns1:mainRequest" />
> </wsdl:message>
> <wsdl:message name="editExistingAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
> </wsdl:message>
> <wsdl:message name="finalizeIssueRequestMessage">
>   <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
> </wsdl:message>
> <wsdl:portType name="ClassifiedServicePortType">
>   <wsdl:operation name="finalizeIssue">
>     <wsdl:input message="tns:finalizeIssueRequestMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="createNewAd">
>     <wsdl:input message="tns:createNewAdRequestMessage" />
>     <wsdl:output message="tns:createNewAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <wsdl:input message="tns:editExistingAdRequestMessage" />
>     <wsdl:output message="tns:editExistingAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <wsdl:input message="tns:getExistingAdsRequestMessage" />
>     <wsdl:output message="tns:getExistingAdsResponseMessage" />
>   </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">
>   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>   <wsdl:operation name="createNewAd">
>     <soap:operation soapAction="createNewAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="finalizeIssue">
>     <soap:operation soapAction="finalizeIssue" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <soap:operation soapAction="editExistingAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <soap:operation soapAction="getExistingAds" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ClassifiedService">
>   <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
>     <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
>   </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> -----------------------
> Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service
> endlocal
> pause
> -----------------------
> Windows batch file "generateClientFromWSDL.bat" used to generate the client:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client
> endlocal
> pause
> -----------------------
> Regards,
> Michael

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Assigned: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1750?page=all ]

Deepal Jayasinghe reassigned AXIS2-1750:
----------------------------------------

    Assignee: Amila Chinthaka Suriarachchi  (was: Afkham Azeez)

sorry for previous comment

Deepal

> WSDL2Java generates client and server code that both yield compile errors
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-1750
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1750
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>         Assigned To: Amila Chinthaka Suriarachchi
>
> When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:
> ClassifiedServiceMessageReceiverInOnly.java line 296
> The method getNamespaceURI() is undefined for the type OMNamespace
> ClassifiedServiceMessageReceiverInOut.java line 343
> The method getNamespaceURI() is undefined for the type OMNamespace
> Both methods read:
> -----------------------
> ...
> /**
> * A utility method that copies the namepaces from the SOAPEnvelope
> */
> private java.util.Map 
> getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
> java.util.Map returnMap = new java.util.HashMap();
> java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
> while (namespaceIterator.hasNext()) {
> org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
> namespaceIterator.next();
> returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
> method
> }
> return returnMap;
> }
> ...
> -----------------------
> Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
> -----------------------
> ...
> //adding SOAP headers
> _serviceClient.addHeadersToEnvelope(env); // <<< does not exist
> ...
> -----------------------
> I assume that should read "addHeader(env)" instead.
> The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
> -----------------------
> <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>        xmlns:tns="http://ws.apache.org/axis2"
>        xmlns:axis2="http://ws.apache.org/axis2"
>        xmlns:ns1="http://org.apache.axis2/xsd" 
>  
>        targetNamespace="http://ws.apache.org/axis2">
> <wsdl:types>
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>          targetNamespace="http://org.apache.axis2/xsd" 
>          elementFormDefault="unqualified" 
>          attributeFormDefault="unqualified">
>     <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
>     <xs:complexType name="ClassifiedAd">
>       <xs:sequence>
>         <xs:element type="xs:int" name="id" />
>         <xs:element type="xs:string" name="content" />
>         <xs:element type="xs:string" name="endDate" />
>         <xs:element type="xs:string" name="startDate" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>     <xs:complexType name="ClassifiedList">
>       <xs:sequence>
>         <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element name="createNewAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="content" />
>           <xs:element type="xs:string" name="endDate" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="createNewAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:int" name="newAdId" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedAd" name="existingAd" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:boolean" name="wasSuccessful" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="getExistingAdsRequest">
>       <xs:complexType />
>     </xs:element>
>     <xs:element name="getExistingAdsResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="finalizeIssueRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="issueToFinalize" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>   </xs:schema>
> </wsdl:types>
> <wsdl:message name="createNewAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdRequest" />
> </wsdl:message>
> <wsdl:message name="createNewAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdResponse" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsResponseMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
> </wsdl:message>
> <wsdl:message name="editExistingAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsRequestMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
> </wsdl:message>
> <wsdl:message name="mainRequestMessage">
>   <wsdl:part name="part1" element="ns1:mainRequest" />
> </wsdl:message>
> <wsdl:message name="editExistingAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
> </wsdl:message>
> <wsdl:message name="finalizeIssueRequestMessage">
>   <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
> </wsdl:message>
> <wsdl:portType name="ClassifiedServicePortType">
>   <wsdl:operation name="finalizeIssue">
>     <wsdl:input message="tns:finalizeIssueRequestMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="createNewAd">
>     <wsdl:input message="tns:createNewAdRequestMessage" />
>     <wsdl:output message="tns:createNewAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <wsdl:input message="tns:editExistingAdRequestMessage" />
>     <wsdl:output message="tns:editExistingAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <wsdl:input message="tns:getExistingAdsRequestMessage" />
>     <wsdl:output message="tns:getExistingAdsResponseMessage" />
>   </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">
>   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>   <wsdl:operation name="createNewAd">
>     <soap:operation soapAction="createNewAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="finalizeIssue">
>     <soap:operation soapAction="finalizeIssue" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <soap:operation soapAction="editExistingAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <soap:operation soapAction="getExistingAds" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ClassifiedService">
>   <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
>     <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
>   </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> -----------------------
> Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service
> endlocal
> pause
> -----------------------
> Windows batch file "generateClientFromWSDL.bat" used to generate the client:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client
> endlocal
> pause
> -----------------------
> Regards,
> Michael

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470134 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-1750:
-----------------------------------------------------

have already been fix the problem

> WSDL2Java generates client and server code that both yield compile errors
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-1750
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1750
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>         Assigned To: Amila Chinthaka Suriarachchi
>
> When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:
> ClassifiedServiceMessageReceiverInOnly.java line 296
> The method getNamespaceURI() is undefined for the type OMNamespace
> ClassifiedServiceMessageReceiverInOut.java line 343
> The method getNamespaceURI() is undefined for the type OMNamespace
> Both methods read:
> -----------------------
> ...
> /**
> * A utility method that copies the namepaces from the SOAPEnvelope
> */
> private java.util.Map 
> getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
> java.util.Map returnMap = new java.util.HashMap();
> java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
> while (namespaceIterator.hasNext()) {
> org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
> namespaceIterator.next();
> returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
> method
> }
> return returnMap;
> }
> ...
> -----------------------
> Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
> -----------------------
> ...
> //adding SOAP headers
> _serviceClient.addHeadersToEnvelope(env); // <<< does not exist
> ...
> -----------------------
> I assume that should read "addHeader(env)" instead.
> The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
> -----------------------
> <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>        xmlns:tns="http://ws.apache.org/axis2"
>        xmlns:axis2="http://ws.apache.org/axis2"
>        xmlns:ns1="http://org.apache.axis2/xsd" 
>  
>        targetNamespace="http://ws.apache.org/axis2">
> <wsdl:types>
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>          targetNamespace="http://org.apache.axis2/xsd" 
>          elementFormDefault="unqualified" 
>          attributeFormDefault="unqualified">
>     <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
>     <xs:complexType name="ClassifiedAd">
>       <xs:sequence>
>         <xs:element type="xs:int" name="id" />
>         <xs:element type="xs:string" name="content" />
>         <xs:element type="xs:string" name="endDate" />
>         <xs:element type="xs:string" name="startDate" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>     <xs:complexType name="ClassifiedList">
>       <xs:sequence>
>         <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element name="createNewAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="content" />
>           <xs:element type="xs:string" name="endDate" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="createNewAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:int" name="newAdId" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedAd" name="existingAd" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:boolean" name="wasSuccessful" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="getExistingAdsRequest">
>       <xs:complexType />
>     </xs:element>
>     <xs:element name="getExistingAdsResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="finalizeIssueRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="issueToFinalize" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>   </xs:schema>
> </wsdl:types>
> <wsdl:message name="createNewAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdRequest" />
> </wsdl:message>
> <wsdl:message name="createNewAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdResponse" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsResponseMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
> </wsdl:message>
> <wsdl:message name="editExistingAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsRequestMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
> </wsdl:message>
> <wsdl:message name="mainRequestMessage">
>   <wsdl:part name="part1" element="ns1:mainRequest" />
> </wsdl:message>
> <wsdl:message name="editExistingAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
> </wsdl:message>
> <wsdl:message name="finalizeIssueRequestMessage">
>   <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
> </wsdl:message>
> <wsdl:portType name="ClassifiedServicePortType">
>   <wsdl:operation name="finalizeIssue">
>     <wsdl:input message="tns:finalizeIssueRequestMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="createNewAd">
>     <wsdl:input message="tns:createNewAdRequestMessage" />
>     <wsdl:output message="tns:createNewAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <wsdl:input message="tns:editExistingAdRequestMessage" />
>     <wsdl:output message="tns:editExistingAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <wsdl:input message="tns:getExistingAdsRequestMessage" />
>     <wsdl:output message="tns:getExistingAdsResponseMessage" />
>   </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">
>   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>   <wsdl:operation name="createNewAd">
>     <soap:operation soapAction="createNewAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="finalizeIssue">
>     <soap:operation soapAction="finalizeIssue" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <soap:operation soapAction="editExistingAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <soap:operation soapAction="getExistingAds" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ClassifiedService">
>   <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
>     <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
>   </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> -----------------------
> Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service
> endlocal
> pause
> -----------------------
> Windows batch file "generateClientFromWSDL.bat" used to generate the client:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client
> endlocal
> pause
> -----------------------
> Regards,
> Michael

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Assigned: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1750?page=all ]

Deepal Jayasinghe reassigned AXIS2-1750:
----------------------------------------

    Assignee: Afkham Azeez

Azeez , do you have any idea abt this ?

Thanks
Deepal

> WSDL2Java generates client and server code that both yield compile errors
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-1750
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1750
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>         Assigned To: Afkham Azeez
>
> When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:
> ClassifiedServiceMessageReceiverInOnly.java line 296
> The method getNamespaceURI() is undefined for the type OMNamespace
> ClassifiedServiceMessageReceiverInOut.java line 343
> The method getNamespaceURI() is undefined for the type OMNamespace
> Both methods read:
> -----------------------
> ...
> /**
> * A utility method that copies the namepaces from the SOAPEnvelope
> */
> private java.util.Map 
> getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
> java.util.Map returnMap = new java.util.HashMap();
> java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
> while (namespaceIterator.hasNext()) {
> org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
> namespaceIterator.next();
> returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
> method
> }
> return returnMap;
> }
> ...
> -----------------------
> Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
> -----------------------
> ...
> //adding SOAP headers
> _serviceClient.addHeadersToEnvelope(env); // <<< does not exist
> ...
> -----------------------
> I assume that should read "addHeader(env)" instead.
> The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
> -----------------------
> <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>        xmlns:tns="http://ws.apache.org/axis2"
>        xmlns:axis2="http://ws.apache.org/axis2"
>        xmlns:ns1="http://org.apache.axis2/xsd" 
>  
>        targetNamespace="http://ws.apache.org/axis2">
> <wsdl:types>
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>          targetNamespace="http://org.apache.axis2/xsd" 
>          elementFormDefault="unqualified" 
>          attributeFormDefault="unqualified">
>     <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
>     <xs:complexType name="ClassifiedAd">
>       <xs:sequence>
>         <xs:element type="xs:int" name="id" />
>         <xs:element type="xs:string" name="content" />
>         <xs:element type="xs:string" name="endDate" />
>         <xs:element type="xs:string" name="startDate" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>     <xs:complexType name="ClassifiedList">
>       <xs:sequence>
>         <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element name="createNewAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="content" />
>           <xs:element type="xs:string" name="endDate" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="createNewAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:int" name="newAdId" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedAd" name="existingAd" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:boolean" name="wasSuccessful" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="getExistingAdsRequest">
>       <xs:complexType />
>     </xs:element>
>     <xs:element name="getExistingAdsResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="finalizeIssueRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="issueToFinalize" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>   </xs:schema>
> </wsdl:types>
> <wsdl:message name="createNewAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdRequest" />
> </wsdl:message>
> <wsdl:message name="createNewAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdResponse" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsResponseMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
> </wsdl:message>
> <wsdl:message name="editExistingAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsRequestMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
> </wsdl:message>
> <wsdl:message name="mainRequestMessage">
>   <wsdl:part name="part1" element="ns1:mainRequest" />
> </wsdl:message>
> <wsdl:message name="editExistingAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
> </wsdl:message>
> <wsdl:message name="finalizeIssueRequestMessage">
>   <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
> </wsdl:message>
> <wsdl:portType name="ClassifiedServicePortType">
>   <wsdl:operation name="finalizeIssue">
>     <wsdl:input message="tns:finalizeIssueRequestMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="createNewAd">
>     <wsdl:input message="tns:createNewAdRequestMessage" />
>     <wsdl:output message="tns:createNewAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <wsdl:input message="tns:editExistingAdRequestMessage" />
>     <wsdl:output message="tns:editExistingAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <wsdl:input message="tns:getExistingAdsRequestMessage" />
>     <wsdl:output message="tns:getExistingAdsResponseMessage" />
>   </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">
>   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>   <wsdl:operation name="createNewAd">
>     <soap:operation soapAction="createNewAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="finalizeIssue">
>     <soap:operation soapAction="finalizeIssue" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <soap:operation soapAction="editExistingAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <soap:operation soapAction="getExistingAds" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ClassifiedService">
>   <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
>     <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
>   </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> -----------------------
> Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service
> endlocal
> pause
> -----------------------
> Windows batch file "generateClientFromWSDL.bat" used to generate the client:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client
> endlocal
> pause
> -----------------------
> Regards,
> Michael

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-1750) WSDL2Java generates client and server code that both yield compile errors

Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1750?page=comments#action_12458999 ] 
            
Amila Chinthaka Suriarachchi commented on AXIS2-1750:
-----------------------------------------------------

Can you try this with the latest build from the brach( get a nightly build). I think now this is fixed. make sure you have the correct axiom version.

> WSDL2Java generates client and server code that both yield compile errors
> -------------------------------------------------------------------------
>
>                 Key: AXIS2-1750
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1750
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.1
>            Reporter: Michael Moser
>         Assigned To: Amila Chinthaka Suriarachchi
>
> When running WSDL2Java to generate the server side code I am getting two classes on which the compiler yells:
> ClassifiedServiceMessageReceiverInOnly.java line 296
> The method getNamespaceURI() is undefined for the type OMNamespace
> ClassifiedServiceMessageReceiverInOut.java line 343
> The method getNamespaceURI() is undefined for the type OMNamespace
> Both methods read:
> -----------------------
> ...
> /**
> * A utility method that copies the namepaces from the SOAPEnvelope
> */
> private java.util.Map 
> getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
> java.util.Map returnMap = new java.util.HashMap();
> java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
> while (namespaceIterator.hasNext()) {
> org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) 
> namespaceIterator.next();
> returnMap.put(ns.getPrefix(),ns.getNamespaceURI()); // <<<< unknown 
> method
> }
> return returnMap;
> }
> ...
> -----------------------
> Similar, when generating the client code: In the generated code for class ClassifiedServiceStub there are multiple locations that read:
> -----------------------
> ...
> //adding SOAP headers
> _serviceClient.addHeadersToEnvelope(env); // <<< does not exist
> ...
> -----------------------
> I assume that should read "addHeader(env)" instead.
> The WSDL used - essentially taken from the tutorial "Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL)" located at http://www-128.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html:
> -----------------------
> <wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
>        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>        xmlns:tns="http://ws.apache.org/axis2"
>        xmlns:axis2="http://ws.apache.org/axis2"
>        xmlns:ns1="http://org.apache.axis2/xsd" 
>  
>        targetNamespace="http://ws.apache.org/axis2">
> <wsdl:types>
>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
>          targetNamespace="http://org.apache.axis2/xsd" 
>          elementFormDefault="unqualified" 
>          attributeFormDefault="unqualified">
>     <xs:element type="ns1:ClassifiedAd" name="ClassifiedAd" />
>     <xs:complexType name="ClassifiedAd">
>       <xs:sequence>
>         <xs:element type="xs:int" name="id" />
>         <xs:element type="xs:string" name="content" />
>         <xs:element type="xs:string" name="endDate" />
>         <xs:element type="xs:string" name="startDate" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>     <xs:complexType name="ClassifiedList">
>       <xs:sequence>
>         <xs:element minOccurs="0" type="ns1:ClassifiedAd" name="ClassifiedAd" maxOccurs="unbounded" />
>       </xs:sequence>
>     </xs:complexType>
>     <xs:element name="createNewAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="content" />
>           <xs:element type="xs:string" name="endDate" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="createNewAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:int" name="newAdId" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedAd" name="existingAd" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="editExistingAdResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:boolean" name="wasSuccessful" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="getExistingAdsRequest">
>       <xs:complexType />
>     </xs:element>
>     <xs:element name="getExistingAdsResponse">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="ns1:ClassifiedList" name="ClassifiedList" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>     <xs:element name="finalizeIssueRequest">
>       <xs:complexType>
>         <xs:sequence>
>           <xs:element type="xs:string" name="issueToFinalize" />
>         </xs:sequence>
>       </xs:complexType>
>     </xs:element>
>   </xs:schema>
> </wsdl:types>
> <wsdl:message name="createNewAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdRequest" />
> </wsdl:message>
> <wsdl:message name="createNewAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:createNewAdResponse" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsResponseMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsResponse" />
> </wsdl:message>
> <wsdl:message name="editExistingAdRequestMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdRequest" />
> </wsdl:message>
> <wsdl:message name="getExistingAdsRequestMessage">
>   <wsdl:part name="part1" element="ns1:getExistingAdsRequest" />
> </wsdl:message>
> <wsdl:message name="mainRequestMessage">
>   <wsdl:part name="part1" element="ns1:mainRequest" />
> </wsdl:message>
> <wsdl:message name="editExistingAdResponseMessage">
>   <wsdl:part name="part1" element="ns1:editExistingAdResponse" />
> </wsdl:message>
> <wsdl:message name="finalizeIssueRequestMessage">
>   <wsdl:part name="part1" element="ns1:finalizeIssueRequest" />
> </wsdl:message>
> <wsdl:portType name="ClassifiedServicePortType">
>   <wsdl:operation name="finalizeIssue">
>     <wsdl:input message="tns:finalizeIssueRequestMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="createNewAd">
>     <wsdl:input message="tns:createNewAdRequestMessage" />
>     <wsdl:output message="tns:createNewAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <wsdl:input message="tns:editExistingAdRequestMessage" />
>     <wsdl:output message="tns:editExistingAdResponseMessage" />
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <wsdl:input message="tns:getExistingAdsRequestMessage" />
>     <wsdl:output message="tns:getExistingAdsResponseMessage" />
>   </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ClassifiedServiceBinding" type="tns:ClassifiedServicePortType">
>   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>   <wsdl:operation name="createNewAd">
>     <soap:operation soapAction="createNewAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="finalizeIssue">
>     <soap:operation soapAction="finalizeIssue" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>   </wsdl:operation>
>   <wsdl:operation name="editExistingAd">
>     <soap:operation soapAction="editExistingAd" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
>   <wsdl:operation name="getExistingAds">
>     <soap:operation soapAction="getExistingAds" style="document" />
>     <wsdl:input>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:input>
>     <wsdl:output>
>       <soap:body use="literal" namespace="http://ws.apache.org/axis2" />
>     </wsdl:output>
>   </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ClassifiedService">
>   <wsdl:port name="ClassifiedServicePort" binding="axis2:ClassifiedServiceBinding">
>     <soap:address location="http://localhost:8080/axis2/services/ClassifiedService" />
>   </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> -----------------------
> Windows batch file "generateServiceFromWSDL.bat" used to generate the service:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -ss -sd -p org.dailymoon.classifieds -d xmlbeans -o service
> endlocal
> pause
> -----------------------
> Windows batch file "generateClientFromWSDL.bat" used to generate the client:
> -----------------------
> set CURRENT_DIR=%cd%
> setlocal EnableDelayedExpansion
> if ("%JAVA_HOME%"=="") set JAVA_HOME=C:\JDK1.5.0
> if ("%AXIS2_HOME%"=="") set AXIS2_HOME=C:\Java_Extensions\axis2-1.1
> rem call %AXIS2_HOME%\bin\java2wsdl.bat -cn org.dailymoon.classifieds.ClassifiedService -o .
> set AXIS2_CLASS_PATH=.
> FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASS_PATH=!AXIS2_CLASS_PATH!;%%c
> cd C:\JavaDevt\tutorials\webservices\ClassifiedAds
> "%JAVA_HOME%\bin\java" -cp "%AXIS2_CLASS_PATH%" org.apache.axis2.wsdl.WSDL2Java -uri ClassifiedService.wsdl -p org.dailymoon.classifieds -d xmlbeans -o client
> endlocal
> pause
> -----------------------
> Regards,
> Michael

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org