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]