You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by la...@ubs.com on 2007/05/03 12:21:10 UTC

empty Values in Soap document produces an error

Hi ,   

I have a problem with my webservice. He receive an Soap Document, with
the following structure You find it at the end of the Mail(for example).
If AXIS reads the password of the Auth object, occurs an error and the
Auth object won't prepared. The problem is that the text_value is emty
and AXIS don't understand this. I have change my Source Code of the
axiom_element_get_text Method to:   if(om_element->text_value == NULL )
om_element->text_value = "";  It works, but i don't know have it effect
of the rest of AXIS2C. Can someone check it this okay. If yes, can it
included in the source code of AXIS2? The same problem is by
axutil_array_list_size. My example is after the SOAP Document. 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
<soap:Header>
<wsa:Action /> 
<wsa:MessageID>urn:uuid:7b21bdf8-6f69-44a1-b44c-cde2d1ffa8ff</wsa:Messag
eID> 
<wsa:ReplyTo> 
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anony
mous</wsa:Address> 
</wsa:ReplyTo> 
<wsa:To>http://localhost:9090/axis2/services/ttwebservicesaxis</wsa:To> 
 <wsse:Security> 
<wsu:Timestamp wsu:Id="Timestamp-5156341c-db2d-4e83-a0d7-01f48a1eecf7"> 
<wsu:Created>2007-05-03T08:40:48Z</wsu:Created> 
<wsu:Expires>2007-05-03T08:45:48Z</wsu:Expires> 
</wsu:Timestamp> 
</wsse:Security> 
</soap:Header> 
<soap:Body> 
<GenerateUUID xmlns="urn:ttwebservices"> 
<auth> 
	<userId>bill</userId> 
	<password /> 
	<hostname xsi:nil="true" /> 
</auth> 
</GenerateUUID> 
</soap:Body> 
</soap:Envelope>

AXIS2_EXTERN int AXIS2_CALL 
axutil_array_list_size(struct axutil_array_list *array_list, 
    const axutil_env_t *env)
{
    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
    if(array_list == NULL)
      return 0;
    return array_list->size;
}

Regards Lars