title: Using custom wsdl file in axis2 - Problem whne using <xs:all> instead of <xs:sequence>
body: <p>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.</p>
  
  <p>This is the original wsdl file part.</p>
  
  <pre><code>     &lt;xs:element name="multiply"&gt;
              &lt;xs:complexType&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element minOccurs="0" name="a" nillable="true" type="xs:string"/&gt;
                      &lt;xs:element minOccurs="0" name="b" nillable="true" type="xs:string"/&gt;
                      &lt;xs:element minOccurs="0" name="c" nillable="true" type="xs:string"/&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
  
     I changed &lt;xs:sequence&gt; to &lt;xs:all&gt; so that i can send elements in any order in soap request.Below is the changed one.
          &lt;xs:element name="multiply"&gt;
              &lt;xs:complexType&gt;
                  &lt;xs:all&gt;
                      &lt;xs:element minOccurs="0" name="a" nillable="true" type="xs:string"/&gt;
                      &lt;xs:element minOccurs="0" name="b" nillable="true" type="xs:string"/&gt;
                      &lt;xs:element minOccurs="0" name="c" nillable="true" type="xs:string"/&gt;
                  &lt;/xs:all&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:element&gt;
  </code></pre>
  
  <p>When I am executing this one I am getting value for a is blanck and for b and c null.</p>
  
  <p>This is the soap request i am sending <code>&lt;axis:multiply&gt;
                                  &lt;axis:a&gt;a&lt;/axis:a&gt;
                                  &lt;axis:b&gt;b&lt;/axis:b&gt;
                                  &lt;axis:c&gt;c&lt;/axis:c&gt;
                            &lt;/axis:multiply&gt;
  </code>to server. </p>
  
  <p>Here is the code snippet i am using at server side</p>
  
  <pre><code>              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";
          }
  </code></pre>
  
  <p>on the console for loggers Iam getting below out put:</p>
  
  <pre><code>            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
  </code></pre>
  
  <p>Can any one tell why i am receivng values as black or null even i am supplying values.</p>
  
  <p>Thanks,<br>
  Narendra</p>