Service doesn't recognize types returned by a prior operation call
------------------------------------------------------------------

                 Key: AXIS2-1409
                 URL: http://issues.apache.org/jira/browse/AXIS2-1409
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: nightly
         Environment: Windows XP / Linux, Axis2 1.0 nightly snapshot
            Reporter: Thomas, Berlinghoff


Hi all,
Currently trying to implement an authentication service where someone has to 
login before calling other operations (e.g. creating new accounts or calling 
other services respectively). The login operation therefore validates the 
passed in username and password and generates sessionInformation which is 
returned. For each following operation call these sessionIinformation is to 
provide, in order to get authorized to performing the operation call.
Now the problem is that the returned session information gets simply ignored 
when calling operations afterwards. I've captured the data send to the service, 
and the session information is obviously transfered to the service, but in the 
corresponding service operation the element points to null. No exception is 
thrown (DataBindingError or similiar) and the element gets simply ignored.
Then I've tried to create the sessionInformation object in the client manually, 
and in that case the service recognizes it.
Here're the two requests:

1. Using the services return value (doesn't work)

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
        <soapenv:Header />
        <soapenv:Body>
                <createPrincipalRequest 
xmlns="http://eu-orchestra.org/oa/authentication/requests/1.0";>
                        <sessionInformation 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>
                                <authenticatedPrincipals 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>
                                        <Sequence>
                                                <element>
                                                        <id>1</id>
                                                        
<sessionId>AA667G44F</sessionId>
                                                        
<validityEnd>2006-10-17T00:03:25.305+02:00</validityEnd>
                                                </element>
                                        </Sequence>
                                </authenticatedPrincipals>
                        </sessionInformation>
                        <oaprincipal>
                                <id 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>4711</id>
                                <origin 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>The new principals 
origin.</origin>
                        </oaprincipal>
                </createPrincipalRequest>
        </soapenv:Body>
</soapenv:Envelope>


2. Using a manually generated request (works)

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
        <soapenv:Header />
        <soapenv:Body>
                <createPrincipalRequest 
xmlns="http://eu-orchestra.org/oa/authentication/requests/1.0";>
                        <sessionInformation>
                                <authenticatedPrincipals 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>
                                        <Sequence>
                                                <element>
                                                        <id>1</id>
                                                        
<sessionId>AA667G44F</sessionId>
                                                        
<validityEnd>2006-10-17T00:03:25.305+02:00</validityEnd>
                                                </element>
                                        </Sequence>
                                </authenticatedPrincipals>
                        </sessionInformation>
                        <oaprincipal>
                                <id 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>4711</id>
                                <origin 
xmlns="http://eu-orchestra.org/oa/authentication/types/1.0";>The new principals 
origin.</origin>
                        </oaprincipal>
                </createPrincipalRequest>
        </soapenv:Body>
</soapenv:Envelope>

Note that the only difference is in line 6, where the first request specifies a 
namespace for the "sessionInformation" element, while in the second request no 
namespace is used. Indeed, if removing the namespace from the captured data and 
send it again to the service, the service works as expected.

I assume this is a bug since the service should recognize a structure generated 
and returned by itself.

Cheers,

Thomas

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to