Hi Keith,
 
If I do not include the originally generated WSDL (java2wsdl), the
response from server is 
 
<?xml version="1.0" encoding="http://www.w3.org/2003/05/soap-envelope";
standalone="no"?>
<soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
 <soapenv:Body>
  <ns:getLicenseInfoResponse
xmlns:ns="http://vpmanagement.ws.xml.avaya.com";>
   <ns:return xmlns:ax21="http://ws.vp.avaya.com/xsd
<http://ws.vp.avaya.com/xsd> " type="com.avaya.vp.ws.FieldArray">
    <ax21:field type="com.avaya.vp.ws.Field">
     <ax21:dataType>Integer</ax21:dataType>
     <ax21:name>MaximumLicenses</ax21:name>
     <ax21:value>50</ax21:value>
    </ax21:field>
   </ns:return>
  </ns:getLicenseInfoResponse>
 </soapenv:Body>
</soapenv:Envelope>
 
However if I do include the originally generated WSDL in the aar file ,
the response is 
 
<?xml version="1.0" encoding="http://www.w3.org/2003/05/soap-envelope";
standalone="no"?>
<soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";>
 <soapenv:Body>
  <ns:getLicenseInfoResponse
xmlns:ns="http://vpmanagement.ws.xml.avaya.com";>
   <ns:return type="com.avaya.vp.ws.FieldArray">
    <ns:field type="com.avaya.vp.ws.Field">
     <ns:dataType>Integer</ns:dataType>
     <ns:name>MaximumLicenses</ns:name>
     <ns:value>50</ns:value>
   </ns:field>
   </ns:return>
  </ns:getLicenseInfoResponse>
 </soapenv:Body>
</soapenv:Envelope>
 
The client was generated using the originally generated WSDL and the
generated code throws an exception when the WSDL is included in the aar
file.
Exception occured: org.apache.axis2.databinding.ADBException: Unexpected
subelement field

Thanks,
JP
 
 
________________________________

From: keith chapman [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 02, 2008 9:24 AM
To: axis-user@ws.apache.org
Subject: Re: Strong types in Axis2 wsdl


Hi Jai,

Can you try using TCPMonitor and capture the messages in the two
scenarios. That would help figure out wats going on. You may use this
link on how TCPMonitor could be set up on Idea or Eclipse.
<http://www.keith-chapman.org/2008/07/using-tcp-monitor-to-debug-web-ser
vice.html>  [1]

Thanks,
Keith.

[1]
http://www.keith-chapman.org/2008/07/using-tcp-monitor-to-debug-web-serv
ice.html

On Tue, Sep 2, 2008 at 9:35 PM, Pugalia, Jai P (JP) <[EMAIL PROTECTED]>
wrote:


        Hi Keith,
         
        I tried your suggestion of updating the wsdl and including it in
the aar. (Also set the "useOriginalWSDL" parameter to true). However
when I make a web service call which returns the Field object, I get
this exception:
         
        reason:org.apache.axis2.databinding.ADBException: Unexpected
subelement

        If I do not include the updated wsdl, then everything works
properly. 

        Any suggestions on what could be wrong? 

        Thanks,

        Jai


________________________________

        
        From: keith chapman [mailto:[EMAIL PROTECTED] 
        
        Sent: Monday, September 01, 2008 9:25 PM 

        To: axis-user@ws.apache.org
        Subject: Re: Strong types in Axis2 wsdl 

        Hi,
        
        You cannot get this into a auto generated WSDL.  The workaround
for you will be to save the auto generated WSDL, edit it to your needs
and pack it into the aar file and deploy the service in Axis2. You will
need to use restictions on your dataType in order to achieve this. Here
is an example of a WSDL that has restrictions
<http://mooshup.com/services/system/digit2image?wsdl2>   [1]
        
        Thanks,
        Keith.
        
        [1] http://mooshup.com/services/system/digit2image?wsdl2
        
        
        
        On Tue, Sep 2, 2008 at 9:42 AM, Pugalia, Jai P (JP)
<[EMAIL PROTECTED]> wrote:
        

                Hi Keith,
                
                I have written the Java class and then generating the
WSDL from that.
                
                The WSDL generates this:
                
                           <xs:complexType name="Field">
                               <xs:sequence>
                
                                         <xs:element minOccurs="0"
name="objectType"
                nillable="true" type="xs:string"/>
                
                                       <xs:element minOccurs="0"
name="dataType"
                
                nillable="true" type="xs:string"/>
                
                                   <xs:element minOccurs="0" name="name"
                
                nillable="true" type="xs:string"/>
                
                                   <xs:element minOccurs="0"
name="value"
                
                nillable="true" type="xs:string"/>
                
                               </xs:sequence>
                           </xs:complexType>
                
                I want to restrict the values of objectType to actual
string values like
                "Array", "Structure" & "Table".
                
                Thanks,
                Jai
                

                -----Original Message-----
                From: keith chapman [mailto:[EMAIL PROTECTED]
                Sent: Monday, September 01, 2008 9:41 AM
                To: axis-user@ws.apache.org
                
                Subject: Re: Strong types in Axis2 wsdl
                
                Hi Jai,
                
                Could you elaborate on what you mean by "Array" and
"Structure"? Do you
                mean the string values "Array" and "Structure"? or the
actual structure
                of an Array and Structure?
                
                Thanks,
                Keith.
                
                On Thu, Aug 28, 2008 at 6:31 PM, Pugalia, Jai P (JP)
                <[EMAIL PROTECTED]> wrote:
                > Hi,
                >
                > I have an Axis2 wsdl which exposes an ObjectType as
                >
                > <xs:element minOccurs="0" name="objectType"
nillable="true"
                > type="xs:string"/>
                >
                > I want to restrict the valid values to say "Array" and
"Structure". If
                
                > I change the element to be an enumeration, it does not
work as looks
                > like
                > Axis2 does not support enumerations yet. Is there any
other way I can
                > make this strongly typed in the wsdl.
                >
                > Thanks,
                > Jai
                
                
                
                --
                Keith Chapman
                Senior Software Engineer
                WSO2 Inc.
                Oxygenating the Web Service Platform.
                http://wso2.org/
                
                blog: http://www.keith-chapman.org
                
                
        
---------------------------------------------------------------------
                To unsubscribe, e-mail:
[EMAIL PROTECTED]
                For additional commands, e-mail:
[EMAIL PROTECTED]
                
                
        
---------------------------------------------------------------------
                To unsubscribe, e-mail:
[EMAIL PROTECTED]
                For additional commands, e-mail:
[EMAIL PROTECTED]
                
                




        -- 
        Keith Chapman
        Senior Software Engineer
        WSO2 Inc.
        Oxygenating the Web Service Platform.
        http://wso2.org/
        
        blog: http://www.keith-chapman.org
        




-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

Reply via email to