Hi All,
 
I am using axis2 for my webservices. Today  when i tried to use my own wsdl 
file instead of axis2 default generated i observer unexpected behaviour.Here 
goes the details.
This is the original wsdl file part.
         <xs:element name="multiply">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="a" nillable="true" 
type="xs:string"/>
                        <xs:element minOccurs="0" name="b" nillable="true" 
type="xs:string"/>
                        <xs:element minOccurs="0" name="c" nillable="true" 
type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
       I changed <xs:sequence> to <xs:all> so that i can send elements in any 
order in soap request.Below is the changed one.
            <xs:element name="multiply">
                <xs:complexType>
                    <xs:all>
                        <xs:element minOccurs="0" name="a" nillable="true" 
type="xs:string"/>
                        <xs:element minOccurs="0" name="b" nillable="true" 
type="xs:string"/>
                        <xs:element minOccurs="0" name="c" nillable="true" 
type="xs:string"/>
                    </xs:all>
                </xs:complexType>
            </xs:element>
When I am executing this one I am getting value for a is blanck and for b and c 
null.
Below is the soap request i am sending to server. 
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:axis="http://axis.apache.org/axis2";>
   <soapenv:Header/>
   <soapenv:Body>
      <axis:multiply>
         <!--You may enter the following 3 items in any order-->
         <!--Optional:-->
         <axis:a>a</axis:a>
         <!--Optional:-->
         <axis:b>b</axis:b>
         <!--Optional:-->
         <axis:c>c</axis:c>
      </axis:multiply>
   </soapenv:Body>
</soapenv:Envelope>
                                   
Here is the code snippet i am using at server side
                  public String multiply(String a, String b, String c) throws 
Exception
        {
  LogHelper.info(logger, "Begin - Multiply");
  if (a.trim().equals(""))
   LogHelper.info(logger, "value fo a is a=\"\"");
  if (b == null)
   LogHelper.info(logger, "value fo b is null");
  if (c == null)
   LogHelper.info(logger, "value fo c is null");
  
  return "Hellow World";
         }
on the console for loggers Iam getting below out put:
                19:47:20,227 INFO  [STDOUT] INFO  [SampleWebService] Begin - 
Multiply
                19:47:20,227 INFO  [STDOUT] INFO  [SampleWebService] value fo a 
is a=""
                19:47:20,227 INFO  [STDOUT] INFO  [SampleWebService] value fo b 
is null
                19:47:20,228 INFO  [STDOUT] INFO  [SampleWebService] value fo c 
is null
Can any one tell why i am receivng values as blanck or null even i am supplying 
values.
 
Thanks,  
Narendra                                          

Attachment: Generated TestWebService.wsdl
Description: Binary data


Attachment: My TestWebService.wsdl
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to