axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kaushalye Kapuruge <kausha...@wso2.com>
Subject Re: Digest Verification problem
Date Mon, 06 Aug 2007 07:06:22 GMT
One more thing. To try out your code, we need the generated header files 
too. :)
-Kaushalye

Kaushalye Kapuruge wrote:
> Hi Dariush,
> Could you please send us the WSDL that you are using?
> If the C14N input is different to the actual payload, signature must 
> be failed in the server side.
> Instead of using the code generation tool, have you tried building the 
> same payload manually?
> That might help to identify the origin of the problem.
> Cheers,
> Kaushalye
>
> Dariush Forouher wrote:
>> Hello,
>>
>> I am trying to create a Axis2/C + Rampart/C WS client together with a
>> Axis2/Java +Rampart/Java service.
>>
>> I've managed to get most of the stuff to work, Signing and even
>> Encryption works fine.
>> But an odd problem is that Rampart Body signature validation seems to
>> fail on certain operations. Calling operations which don't have any
>> parameters on the client side seem to work fine (see attachment
>> "rampartc.working.soapmessage"), whereas calls to operations which have
>> at least one parameter fail when the service tries to validate the
>> digest (see "rampartc.not.working.soapmessage"):
>>
>> This ist the output from the Axis2 webservice:
>>
>> <SNIP>
>> WARNUNG: Verification failed for URI "#SigID-0484f390-41fb-1dc1"
>> 03.08.2007 21:52:08 org.apache.xml.security.signature.Reference verify
>> INFO: Verification successful for URI "#SigID-0484f818-41fb-1dc1"
>> org.apache.ws.security.WSSecurityException: The signature verification
>> failed
>>         at
>> org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:341) 
>>
>>         at
>> org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:80) 
>>
>>         at
>> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:279) 
>>
>>         at
>> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:201) 
>>
>>         at
>> [...]
>> </SNIP>
>>
>>
>> Looking at the axis2 client log (see "wsauth.log.bad"), I found it
>> suspicious that the soap body captured via wireshark doesn't match with
>> the one logged:
>>
>> This is the output of the canonicalizer, according to the log:
>>
>> <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="SigID-0484f390-41fb-1dc1"><ns1:getPosixUserByName
>> xmlns:ns1="urn:WSAuth"></ns1:getPosixUserByName>
>> </soapenv:Body>
>>
>> Wheras this is the actual body send over the wire:
>>
>> <soapenv:Body wsu:Id="SigID-0484f390-41fb-1dc1"
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><ns1:getPosixUserByName 
>>
>> xmlns:ns1="urn:WSAuth"><ns1:username>schumi</ns1:username></ns1:getPosixUserByName></soapenv:Body></soapenv:Envelope> 
>>
>>
>>
>>
>> (Notice the missing <ns1:username>...</...> element)
>>
>> I'm using Axis2c und RampartC from SVN. The snapshot was taken on
>> 2007-07-29. The code has not been modified by me exept a one line change
>> suggested in the "Generating incorrect digests?" thread on axis2c-dev
>> ("u" -> "wsu").
>>
>> I generated the client code via WSDL2C tool from the Axis2 Package (some
>> SVN snapshot from July). I changed some lines here and there to
>> workaround some problems, but I didn't touch the serializer code.
>>
>> ciao
>> Dariush
>>
>>   
>> ------------------------------------------------------------------------
>>
>> POST /axis2/services/WSAuthService HTTP/1.0
>> User-Agent: Axis2/C
>> SOAPAction: "urn:WSAuth"
>> Content-Length: 2473
>> Content-Type: text/xml;charset=UTF-8
>>
>>
>>
>> <soapenv:Envelope 
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><wsse:Security 
>> soapenv:mustUnderstand="1" 
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsu:Timestamp 
>> wsu:Id="SigID-0484f818-41fb-1dc1" 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Created>2007-08-03T19:52:08.269Z</wsu:Created><wsu:Expires>2007-08-03T19:58:08.269Z</wsu:Expires></wsu:Timestamp><ds:Signature 
>> Id="SigID-0485117c-41fb-1dc1" 
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod><ds:SignatureMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference 
>> URI="#SigID-0484f390-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
>>  
>>> </ds:DigestMethod><ds:DigestValue>Y/RfvBEMACnPbPDl8RCbOiVdPKo=</ds:DigestValue></ds:Reference><ds:Reference 
>>> URI="#SigID-0484f818-41fb-1dc1"><ds:Transforms><ds:Transform 
>>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>bRiadT/dswEBTVb72JDhpjzBgiI=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>pf8YpZOMnF4NX9G2ihhiAqCJcomxzTcnI8wTSeixbRLuTQB54ivbjoydqoEqsRskRvfqM5cGLgilybRRwuv3+IJIiUOtaVH31gvIwfVZIlrLzsMvy98i35gufEokLCfxovlrXAFWZadkQYey5NlgNebz/jJoMa9ozrl9w85IkCw=</ds:SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference 
>>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:KeyIdentifier 
>>> EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" 
>>> ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier"> 
>>>
>>>     
>> Z7e8jCIpHhdYxkORpvuC5xF3YtY=
>> </wsse:KeyIdentifier></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></soapenv:Header><soapenv:Body 
>> wsu:Id="SigID-0484f390-41fb-1dc1" 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><ns1:getPosixUserByName 
>> xmlns:ns1="urn:WSAuth"><ns1:username>schumi</ns1:username></ns1:getPosixUserByName></soapenv:Body></soapenv:Envelope> 
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>> POST /axis2/services/WSAuthService HTTP/1.0
>> User-Agent: Axis2/C
>> Content-Length: 2432
>> Content-Type: application/soap+xml;charset=UTF-8
>>
>>
>>
>> <soapenv:Envelope 
>> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Header><wsse:Security 
>> soapenv:mustUnderstand="1" 
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsu:Timestamp 
>> wsu:Id="SigID-023e28b8-41fb-1dc1" 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsu:Created>2007-08-03T19:52:04.449Z</wsu:Created><wsu:Expires>2007-08-03T19:58:04.449Z</wsu:Expires></wsu:Timestamp><ds:Signature 
>> Id="SigID-023e42b2-41fb-1dc1" 
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod><ds:SignatureMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference 
>> URI="#SigID-023e23fe-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"><
>> /ds:DigestMethod><ds:DigestValue>rupyg8n0hq/C50ujLDpCH70QFaA=</ds:DigestValue></ds:Reference><ds:Reference 
>> URI="#SigID-023e28b8-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>d74CkE89Njh86RT4ScFh7ZF1e/k=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>T5L1PvLgyz5o9l40wmpg03WNSF3HHE6Nq/s+qJbMNdv+BdcP3mxmxIi3A7gnZdoOesBa0TuZ5NiU16UY49imPoWj4pmCwhNW2yQm097H1Y9li19HTcu26DKjpaWE9oZBb8fq9xgbtiz+qEBDVeRXpX28uyQoXjEZS9xF6YFx/+Y=</ds:SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference 
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:KeyIdentifier 
>> EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" 
>> ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier">Z7 
>>
>> e8jCIpHhdYxkORpvuC5xF3YtY=
>> </wsse:KeyIdentifier></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></soapenv:Header><soapenv:Body 
>> wsu:Id="SigID-023e23fe-41fb-1dc1" 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><ns1:getPosixUserlist 
>> xmlns:ns1="urn:WSAuth"></ns1:getPosixUserlist></soapenv:Body></soapenv:Envelope> 
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *request_uri_based_dispatcher added to the index 0 of the phase 
>> Transport
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *addressing_based_dispatcher added to the index 1 of the phase Transport
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *soap_message_body_based_dispatcher added to the index 0 of the phase 
>> Dispatch
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *dispatch_post_conditions_evaluator added to the index 0 of the phase 
>> PostDispatch
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(113) axis2_handler_t 
>> *context_handler added to the index 1 of the phase PostDispatch
>> [Fri Aug  3 21:52:08 2007] [debug] conf_builder.c(220) no custom 
>> dispatching order found continue with default dispatching order
>> [Fri Aug  3 21:52:08 2007] [debug] conf_builder.c(326) module rampart 
>> found in axis2.xml
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [debug] dir_handler.c(195) No files in the 
>> path /home/dariush/workspace/AxisCtest2/home/services.
>> [Fri Aug  3 21:52:08 2007] [debug] dep_engine.c(1042) 
>> axis2_dep_engine_load_module_dll: DLL path is : 
>> /home/dariush/workspace/AxisCtest2/home/modules/addressing/libaxis2_mod_addr.so 
>>
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [debug] dep_engine.c(1042) 
>> axis2_dep_engine_load_module_dll: DLL path is : 
>> /home/dariush/workspace/AxisCtest2/home/modules/logging/libaxis2_mod_log.so 
>>
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [debug] dep_engine.c(1042) 
>> axis2_dep_engine_load_module_dll: DLL path is : 
>> /home/dariush/workspace/AxisCtest2/home/modules/rampart/libmod_rampart.so 
>>
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartInHandler to phase PreDispatch
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][mod_rampart] mod_rampart 
>> initialized
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(117) Service name 
>> is : __ANONYMOUS_SERVICE__
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(324) This handler 
>> is trying to added to system pre defined phases , but those handlers 
>> are already added to global chain which run irrespective of the service
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(324) This handler 
>> is trying to added to system pre defined phases , but those handlers 
>> are already added to global chain which run irrespective of the service
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(324) This handler 
>> is trying to added to system pre defined phases , but those handlers 
>> are already added to global chain which run irrespective of the service
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_resolver.c(231) module name 
>> is:rampart
>> [Fri Aug  3 21:52:08 2007] [debug] phase_holder.c(129) Add handler 
>> RampartOutHandler to phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] engine.c(575) Invoking phase 
>> MessageOut
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(195) Invoke the handler 
>> RampartOutHandler within the phase MessageOut
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][rampart_handler_utils] 
>> (null) parameter is not set.
>> [Fri Aug  3 21:52:08 2007] [debug] rampart_util.c(53) 
>> [rampart][rampart_util] Trying to load module = 
>> /usr/local/axis2c/bin/samples/rampart/callback/libpwcb.so
>> [Fri Aug  3 21:52:08 2007] [debug] class_loader.c(135) Object loaded 
>> successfully
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][shb]  building Timestamp 
>> Token
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][shb]  Using default 
>> timeToLive value 300
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][rampart_context] No 
>> Signed parts specified. Using the body.
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Security for Timestamp
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Timestamp for Timestamp
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][rampart_util] Password 
>> taken from the callback module . SUCCESS
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][c14n-OutPut] is
>>
>> <soapenv:Body 
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>> wsu:Id="SigID-0484f390-41fb-1dc1"><ns1:getPosixUserByName 
>> xmlns:ns1="urn:WSAuth"></ns1:getPosixUserByName></soapenv:Body>
>>
>>
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][c14n-OutPut] is
>>
>> <wsu:Timestamp 
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>> wsu:Id="SigID-0484f818-41fb-1dc1"><wsu:Created>2007-08-03T19:52:08.269Z</wsu:Created><wsu:Expires>2007-08-03T19:58:08.269Z</wsu:Expires></wsu:Timestamp> 
>>
>>
>>
>> [Fri Aug  3 21:52:08 2007] [info]  [oxs][xml_sig] C14N (sig)= 
>> <ds:SignedInfo 
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:CanonicalizationMethod 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod><ds:SignatureMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference 
>> URI="#SigID-0484f390-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>Y/RfvBEMACnPbPDl8RCbOiVdPKo=</ds:DigestValue></ds:Reference><ds:Reference 
>> URI="#SigID-0484f818-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>bRiadT/dswEBTVb72JDhpjzBgiI=</ds:DigestValue></ds:Reference></ds:SignedInfo> 
>> [Fri Aug  3 21:52:08 2007] [info]  [openssl][sig] Signing content 
>> <ds:SignedInfo 
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:CanonicalizationMethod 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod><ds:SignatureMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod><ds:Reference 
>> URI="#SigID-0484f390-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>Y/RfvBEMACnPbPDl8RCbOiVdPKo=</ds:DigestValue></ds:Reference><ds:Reference 
>> URI="#SigID-0484f818-41fb-1dc1"><ds:Transforms><ds:Transform 
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod 
>> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod><ds:DigestValue>bRiadT/dswEBTVb72JDhpjzBgiI=</ds:DigestValue></ds:Reference></ds:SignedInfo> 
>>
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][rampart_encryption] No 
>> parts specified or specified parts can't be found for encryprion.
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Security for Signature
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Timestamp for Signature
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Created for Signature
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Expires for Signature
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Signature for Signature
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Security for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Timestamp for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Created for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Expires for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Signature for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> SignedInfo for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> CanonicalizationMethod for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> SignatureMethod for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Reference for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Transforms for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Transform for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> DigestMethod for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> DigestValue for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Reference for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Transforms for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> Transform for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> DigestMethod for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> DigestValue for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> SignatureValue for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> KeyInfo for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> SecurityTokenReference for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][axiom] Checking node 
>> KeyIdentifier for EncryptedKey
>> [Fri Aug  3 21:52:08 2007] [debug] http_transport_sender.c(566) OP 
>> name axutil_qname_get_localpart = http://www.w3.org/2004/08/wsdl/out-in
>> [Fri Aug  3 21:52:08 2007] [debug] soap_builder.c(737) Identified 
>> soap version is soap11
>> [Fri Aug  3 21:52:08 2007] [debug] engine.c(179) Axis2 engine send 
>> successful
>> [Fri Aug  3 21:52:08 2007] [debug] engine.c(575) Invoking phase 
>> Transport
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(195) Invoke the handler 
>> request_uri_based_dispatcher within the phase Transport
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(195) Invoke the handler 
>> addressing_based_dispatcher within the phase Transport
>> [Fri Aug  3 21:52:08 2007] [debug] engine.c(575) Invoking phase 
>> PreDispatch
>> [Fri Aug  3 21:52:08 2007] [debug] phase.c(195) Invoke the handler 
>> RampartInHandler within the phase PreDispatch
>> [Fri Aug  3 21:52:08 2007] [info]  [rampart][rampart_in_handler] No 
>> security header element.
>> [Fri Aug  3 21:52:08 2007] [debug] engine.c(292) Axis2 engine receive 
>> completed!
>>
>>   
>> ------------------------------------------------------------------------
>>
>>
>>        /**
>>         * adb_getPosixUserByName.h
>>         *
>>         * This file was auto-generated from WSDL
>>         * by the Apache Axis2/C version: SNAPSHOT  Built on : Jul 23, 
>> 2007 (02:24:43 GMT+00:00)
>>         *
>>         */
>>
>>         #include "adb_getPosixUserByName.h"
>>                         /**
>>                * implmentation of the getPosixUserByName|urn:WSAuth 
>> element
>>                */
>>             
>>
>>         struct adb_getPosixUserByName
>>         {
>>                             axutil_qname_t* qname;
>>                                         adb_getPosixUserByName_t_t* 
>> attrib_getPosixUserByName;
>>                     };
>>
>>
>>        /************************* Function Implmentations 
>> ********************************/
>>         AXIS2_EXTERN adb_getPosixUserByName_t* AXIS2_CALL
>>         adb_getPosixUserByName_create(
>>             const axutil_env_t *env )
>>         {
>>             adb_getPosixUserByName_t *_getPosixUserByName = NULL;
>>                           axutil_qname_t* qname = NULL;
>>                         AXIS2_ENV_CHECK(env, NULL);
>>
>>             _getPosixUserByName = (adb_getPosixUserByName_t *) 
>> AXIS2_MALLOC(env->
>>                 allocator, sizeof(adb_getPosixUserByName_t));
>>
>>             if(NULL == _getPosixUserByName)
>>             {
>>                 AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, 
>> AXIS2_FAILURE);
>>                 return NULL;
>>             }
>>
>>             _getPosixUserByName->attrib_getPosixUserByName  = NULL;
>>                                 qname =  axutil_qname_create (env,
>>                         "getPosixUserByName",
>>                         "urn:WSAuth",
>>                         "ns1");
>>
>>               _getPosixUserByName->qname = qname;
>>            
>>             return _getPosixUserByName;
>>          }
>>
>>         axis2_status_t AXIS2_CALL
>>         adb_getPosixUserByName_free (
>>                 adb_getPosixUserByName_t* _getPosixUserByName,
>>                 const axutil_env_t *env)
>>         {
>>                        
>>             AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>                           if( 
>> _getPosixUserByName->attrib_getPosixUserByName != NULL)
>>               {
>>                                                         
>> adb_getPosixUserByName_t_free( 
>> _getPosixUserByName->attrib_getPosixUserByName, env);
>>                    _getPosixUserByName->attrib_getPosixUserByName = 
>> NULL;
>>               }
>>
>>                             if(_getPosixUserByName->qname )
>>               {
>>                   axutil_qname_free (_getPosixUserByName->qname, env);
>>                   _getPosixUserByName->qname = NULL;
>>               }
>>            
>>             if(_getPosixUserByName)
>>             {
>>                 AXIS2_FREE( env->allocator, _getPosixUserByName);
>>                 _getPosixUserByName = NULL;
>>             }
>>             return AXIS2_SUCCESS;
>>         }
>>
>>                      axutil_qname_t* AXIS2_CALL
>>            adb_getPosixUserByName_get_qname (
>>                    adb_getPosixUserByName_t* _getPosixUserByName,
>>                    const axutil_env_t *env)
>>            {
>>                AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>                return _getPosixUserByName-> qname;
>>            }
>>        
>>         axis2_status_t AXIS2_CALL
>>         adb_getPosixUserByName_deserialize(
>>                 adb_getPosixUserByName_t* _getPosixUserByName,
>>                 const axutil_env_t *env,
>>                 axiom_node_t* parent)
>>         {
>>
>>             axis2_status_t status = AXIS2_SUCCESS;
>>             axiom_namespace_t *ns1 = NULL;
>>                            void *element = NULL;
>>                          axis2_char_t* text_value = NULL;
>>              axutil_qname_t *qname = NULL;
>>                                       axutil_qname_t *element_qname = 
>> NULL;
>>                            axiom_node_t *first_node = NULL;
>>                                            axiom_node_t *current_node 
>> = NULL;
>>                axiom_element_t *current_element = NULL;
>>                         AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>             ns1 = axiom_namespace_create (env,
>>                                          "urn:WSAuth",
>>                                          "ns1");
>>                           if ( NULL == parent )
>>               {
>>                 /** This should be checked above */
>>                 AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL 
>> elemenet for getPosixUserByName"
>>                                               " %d :: %s", 
>> env->error->error_number,
>>                                               
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                 return AXIS2_FAILURE;
>>               }
>>                                 current_element = 
>> axiom_node_get_data_element( parent, env);
>>                     qname = axiom_element_get_qname( current_element, 
>> env, parent);
>>                     if ( axutil_qname_equals( qname, env, 
>> _getPosixUserByName-> qname ) )
>>                     {
>>                         first_node = axiom_node_get_first_child( 
>> parent, env);
>>                     }
>>                     else
>>                     {
>>                         first_node = parent;
>>                     }
>>                                                      
>>                      /**
>>                       * building getPosixUserByName element
>>                       */
>>                                                                
>>                                    /**
>>                                      * because elements are not 
>> ordered we should surf all the sibling to pick the right one
>>                                      */
>>                                for ( current_node = first_node; 
>> current_node != NULL;
>>                                              current_node = 
>> axiom_node_get_next_sibling( current_node, env))
>>                                {
>>                                   current_element = 
>> axiom_node_get_data_element( current_node, env);
>>                                   qname = axiom_element_get_qname( 
>> current_element, env, current_node);
>>                                   element_qname = 
>> axutil_qname_create( env, "getPosixUserByName", "urn:WSAuth", "ns1");
>>                                   if ( axutil_qname_equals( 
>> element_qname, env, qname))
>>                                   {
>>                                        /** found the requried element */
>>                                        break;
>>                                   }
>>                                }
>>                                                         if ( 
>> current_node != NULL)
>>                            {
>>                                                                     
>> element = (void*)adb_getPosixUserByName_t_create( env);
>>                                       status =  
>> adb_getPosixUserByName_t_deserialize( (                     
>> adb_getPosixUserByName_t_t*)element, env,
>>                                                                              
>> axiom_node_get_first_child(current_node, 
>> env)==NULL?current_node:axiom_node_get_first_child(current_node, env));
>>                                       if( AXIS2_FAILURE ==  status)
>>                                       {
>>                                           AXIS2_LOG_ERROR(env->log, 
>> AXIS2_LOG_SI, "failed in building element getPosixUserByName "
>>                                                               " %d :: 
>> %s", env->error->error_number,
>>                                                               
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                                           return AXIS2_FAILURE;
>>                                       }
>>                                       status = 
>> adb_getPosixUserByName_set_getPosixUserByName( _getPosixUserByName, env,
>>                                                                    ( 
>>                     adb_getPosixUserByName_t_t*)element);
>>                                                                      
>> if( AXIS2_FAILURE ==  status)
>>                                  {
>>                                      AXIS2_LOG_ERROR(env->log, 
>> AXIS2_LOG_SI, "failed in setting the value for getPosixUserByName "
>>                                                          " %d :: %s", 
>> env->error->error_number,
>>                                                          
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                                      return AXIS2_FAILURE;
>>                                  }
>>                            }
>>                                                           else
>>                                {
>>                                    /** this is not a nillable element*/
>>                                    AXIS2_LOG_ERROR(env->log, 
>> AXIS2_LOG_SI, "non nillable or minOuccrs != 0 element 
>> getPosixUserByName missing"
>>                                                          " %d :: %s", 
>> env->error->error_number,
>>                                                          
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                                    return AXIS2_FAILURE;
>>                                }
>>                            
>>           return status;
>>        }
>>
>>         axiom_node_t* AXIS2_CALL
>>         adb_getPosixUserByName_serialize(
>>                 adb_getPosixUserByName_t* _getPosixUserByName,
>>                 const axutil_env_t *env, axiom_node_t* parent, int 
>> has_parent)
>>         {
>>                         axiom_namespace_t *ns1 = NULL;
>>                                 axis2_char_t text_value_1[64];
>>                                    axiom_node_t *current_node = NULL;
>>                axiom_element_t *current_element = NULL;
>>                axiom_data_source_t *data_source = NULL;
>>                axutil_stream_t *stream = NULL;
>>                axis2_char_t *start_input_str = NULL;
>>                axis2_char_t *end_input_str = NULL;
>>                unsigned int start_input_str_len = 0;
>>                unsigned int end_input_str_len = 0;
>>                         AXIS2_ENV_CHECK(env, NULL);
>>
>>             ns1 = axiom_namespace_create (env,
>>                                          "urn:WSAuth",
>>                                          "ns1");
>>                             if( parent == NULL)
>>                 {
>>                     current_element = axiom_element_create (env, 
>> parent, "getPosixUserByName", ns1 , &current_node);
>>                     axiom_element_set_namespace( current_element, 
>> env, ns1, current_node);
>>                                         parent = current_node;
>>                 }
>>                                if(has_parent)
>>                 {
>>                     data_source = axiom_node_get_data_element(parent, 
>> env);
>>                     if (!data_source)
>>                         return NULL;
>>                     stream = 
>> axiom_data_source_get_stream(data_source, env); /* assume parent is 
>> of type data source */
>>                     if (!stream)
>>                         return NULL;
>>                     current_node = parent;
>>                 }
>>                 else
>>                 {
>>                     data_source = axiom_data_source_create(env, 
>> parent, &current_node);
>>                     stream = 
>> axiom_data_source_get_stream(data_source, env);
>>                 }
>>                                                        /**
>>                       * parsing getPosixUserByName element
>>                       */
>>                     
>>                                                                 
>> start_input_str = "<ns1:getPosixUserByName>";
>>                         start_input_str_len = 
>> axutil_strlen(start_input_str);
>>                         end_input_str = "</ns1:getPosixUserByName>";
>>                         end_input_str_len = 
>> axutil_strlen(end_input_str);
>>                                                 if(has_parent)
>>                                 axutil_stream_write(stream, env, 
>> start_input_str, start_input_str_len);
>>                             adb_getPosixUserByName_t_serialize( 
>> _getPosixUserByName->attrib_getPosixUserByName, env, current_node, 
>> AXIS2_TRUE);
>>                             if(has_parent)
>>                                 axutil_stream_write(stream, env, 
>> end_input_str, end_input_str_len);
>>                                     return parent;
>>         }
>>
>>        
>>             /**
>>              * getter for getPosixUserByName.
>>              */
>>                                 adb_getPosixUserByName_t_t* AXIS2_CALL
>>             adb_getPosixUserByName_get_getPosixUserByName(
>>                     adb_getPosixUserByName_t* _getPosixUserByName,
>>                     const axutil_env_t *env)
>>              {
>>                 AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>                 return _getPosixUserByName-> attrib_getPosixUserByName;
>>              }
>>
>>             /**
>>              * setter for getPosixUserByName
>>              */
>>             axis2_status_t AXIS2_CALL
>>             adb_getPosixUserByName_set_getPosixUserByName(
>>                     adb_getPosixUserByName_t* _getPosixUserByName,
>>                     const axutil_env_t *env,
>>                                         adb_getPosixUserByName_t_t*  
>> param_getPosixUserByName)
>>              {
>>                
>>                 AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>                 if(!_getPosixUserByName)
>>                 {
>>                     return AXIS2_FAILURE;
>>                 }
>>
>>                                   if( NULL == param_getPosixUserByName )
>>                   {
>>                       AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
>> "getPosixUserByName is NULL, but not a nullable element"
>>                                                  " %d :: %s", 
>> env->error->error_number,
>>                                                  
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                       return AXIS2_FAILURE;
>>                   }
>>                 _getPosixUserByName-> attrib_getPosixUserByName = 
>> param_getPosixUserByName;
>>                 return AXIS2_SUCCESS;
>>              }
>>
>>            
>>
>>   
>> ------------------------------------------------------------------------
>>
>>
>>        /**
>>         * adb_getPosixUserByName_t.h
>>         *
>>         * This file was auto-generated from WSDL
>>         * by the Apache Axis2/C version: SNAPSHOT  Built on : Jul 23, 
>> 2007 (02:24:43 GMT+00:00)
>>         *
>>         */
>>
>>         #include "adb_getPosixUserByName_t.h"
>>                         /**
>>                * This type was generated from the piece of schema 
>> that had
>>                * name = getPosixUserByName_t
>>                * Namespace URI = urn:WSAuth
>>                * Namespace Prefix = ns1
>>                */
>>             
>>
>>         struct adb_getPosixUserByName_t
>>         {
>>             axis2_char_t* attrib_username;
>>                     };
>>
>>
>>        /************************* Function Implmentations 
>> ********************************/
>>         AXIS2_EXTERN adb_getPosixUserByName_t_t* AXIS2_CALL
>>         adb_getPosixUserByName_t_create(
>>             const axutil_env_t *env )
>>         {
>>             adb_getPosixUserByName_t_t *_getPosixUserByName_t = NULL;
>>                         AXIS2_ENV_CHECK(env, NULL);
>>
>>             _getPosixUserByName_t = (adb_getPosixUserByName_t_t *) 
>> AXIS2_MALLOC(env->
>>                 allocator, sizeof(adb_getPosixUserByName_t_t));
>>
>>             if(NULL == _getPosixUserByName_t)
>>             {
>>                 AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, 
>> AXIS2_FAILURE);
>>                 return NULL;
>>             }
>>
>>            
>>             return _getPosixUserByName_t;
>>          }
>>
>>         axis2_status_t AXIS2_CALL
>>         adb_getPosixUserByName_t_free (
>>                 adb_getPosixUserByName_t_t* _getPosixUserByName_t,
>>                 const axutil_env_t *env)
>>         {
>>                        
>>             AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>            
>>             if(_getPosixUserByName_t)
>>             {
>>                 AXIS2_FREE( env->allocator, _getPosixUserByName_t);
>>                 _getPosixUserByName_t = NULL;
>>             }
>>             return AXIS2_SUCCESS;
>>         }
>>
>>        
>>         axis2_status_t AXIS2_CALL
>>         adb_getPosixUserByName_t_deserialize(
>>                 adb_getPosixUserByName_t_t* _getPosixUserByName_t,
>>                 const axutil_env_t *env,
>>                 axiom_node_t* parent)
>>         {
>>
>>             axis2_status_t status = AXIS2_SUCCESS;
>>             axiom_namespace_t *ns1 = NULL;
>>                          axis2_char_t* text_value = NULL;
>>              axutil_qname_t *qname = NULL;
>>                                        axiom_node_t *first_node = NULL;
>>                                            axiom_node_t *current_node 
>> = NULL;
>>                axiom_element_t *current_element = NULL;
>>                         AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>             ns1 = axiom_namespace_create (env,
>>                                          "urn:WSAuth",
>>                                          "ns1");
>>                           if ( NULL == parent )
>>               {
>>                 /** This should be checked above */
>>                 AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL 
>> elemenet for getPosixUserByName_t"
>>                                               " %d :: %s", 
>> env->error->error_number,
>>                                               
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                 return AXIS2_FAILURE;
>>               }
>>                             first_node = parent;
>>              
>>                                           /**
>>                       * building username element
>>                       */
>>                                                                
>>                                    current_node = first_node;
>>                                                             if ( 
>> current_node != NULL)
>>                            {
>>                               current_element = 
>> axiom_node_get_data_element( current_node, env);
>>                                       text_value = 
>> axiom_element_get_text(current_element, env, current_node );
>>                                       status = 
>> adb_getPosixUserByName_t_set_username( _getPosixUserByName_t, env,
>>                                                                    
>> text_value);
>>                                                                      
>> if( AXIS2_FAILURE ==  status)
>>                                  {
>>                                      AXIS2_LOG_ERROR(env->log, 
>> AXIS2_LOG_SI, "failed in setting the value for username "
>>                                                          " %d :: %s", 
>> env->error->error_number,
>>                                                          
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                                      return AXIS2_FAILURE;
>>                                  }
>>                            }
>>                                                           else
>>                                {
>>                                    /** this is not a nillable element*/
>>                                    AXIS2_LOG_ERROR(env->log, 
>> AXIS2_LOG_SI, "non nillable or minOuccrs != 0 element username missing"
>>                                                          " %d :: %s", 
>> env->error->error_number,
>>                                                          
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                                    return AXIS2_FAILURE;
>>                                }
>>                            
>>           return status;
>>        }
>>
>>         axiom_node_t* AXIS2_CALL
>>         adb_getPosixUserByName_t_serialize(
>>                 adb_getPosixUserByName_t_t* _getPosixUserByName_t,
>>                 const axutil_env_t *env, axiom_node_t* parent, int 
>> has_parent)
>>         {
>>                         axiom_namespace_t *ns1 = NULL;
>>                                 axis2_char_t *text_value_1;
>>                                    axiom_node_t *current_node = NULL;
>>                axiom_element_t *current_element = NULL;
>>                axiom_data_source_t *data_source = NULL;
>>                axutil_stream_t *stream = NULL;
>>                axis2_char_t *start_input_str = NULL;
>>                axis2_char_t *end_input_str = NULL;
>>                unsigned int start_input_str_len = 0;
>>                unsigned int end_input_str_len = 0;
>>                         AXIS2_ENV_CHECK(env, NULL);
>>
>>             ns1 = axiom_namespace_create (env,
>>                                          "urn:WSAuth",
>>                                          "ns1");
>>                             if(has_parent)
>>                 {
>>                     data_source = axiom_node_get_data_element(parent, 
>> env);
>>                     if (!data_source)
>>                         return NULL;
>>                     stream = 
>> axiom_data_source_get_stream(data_source, env); /* assume parent is 
>> of type data source */
>>                     if (!stream)
>>                         return NULL;
>>                     current_node = parent;
>>                 }
>>                 else
>>                 {
>>                     data_source = axiom_data_source_create(env, 
>> parent, &current_node);
>>                     stream = 
>> axiom_data_source_get_stream(data_source, env);
>>                 }
>>                                                        /**
>>                       * parsing username element
>>                       */
>>                     
>>                                                                 
>> start_input_str = "<ns1:username>";
>>                         start_input_str_len = 
>> axutil_strlen(start_input_str);
>>                         end_input_str = "</ns1:username>";
>>                         end_input_str_len = 
>> axutil_strlen(end_input_str);
>>                                                text_value_1 = 
>> _getPosixUserByName_t->attrib_username;
>>                            axutil_stream_write(stream, env, 
>> start_input_str, start_input_str_len);
>>                            axutil_stream_write(stream, env, 
>> text_value_1, axutil_strlen(text_value_1));
>>                            axutil_stream_write(stream, env, 
>> end_input_str, end_input_str_len);
>>                                     return parent;
>>         }
>>
>>        
>>             /**
>>              * getter for username.
>>              */
>>             axis2_char_t* AXIS2_CALL
>>             adb_getPosixUserByName_t_get_username(
>>                     adb_getPosixUserByName_t_t* _getPosixUserByName_t,
>>                     const axutil_env_t *env)
>>              {
>>                 AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>
>>                 return _getPosixUserByName_t-> attrib_username;
>>              }
>>
>>             /**
>>              * setter for username
>>              */
>>             axis2_status_t AXIS2_CALL
>>             adb_getPosixUserByName_t_set_username(
>>                     adb_getPosixUserByName_t_t* _getPosixUserByName_t,
>>                     const axutil_env_t *env,
>>                     axis2_char_t*  param_username)
>>              {
>>                
>>                 AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>>                 if(!_getPosixUserByName_t)
>>                 {
>>                     return AXIS2_FAILURE;
>>                 }
>>
>>                                   if( NULL == param_username )
>>                   {
>>                       AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
>> "username is NULL, but not a nullable element"
>>                                                  " %d :: %s", 
>> env->error->error_number,
>>                                                  
>> AXIS2_ERROR_GET_MESSAGE(env->error));
>>                       return AXIS2_FAILURE;
>>                   }
>>                 _getPosixUserByName_t-> attrib_username = 
>> param_username;
>>                 return AXIS2_SUCCESS;
>>              }
>>
>>            
>>
>>   
>> ------------------------------------------------------------------------
>>
>>
>> /**
>>  * axis2_stub_WSAuthService.c
>>  *
>>  * This file was auto-generated from WSDL for 
>> "WSAuthService|urn:WSAuth" service
>>  * by the Apache Axis2/C version: SNAPSHOT  Built on : Jul 23, 2007 
>> (02:24:29 GMT+00:00)
>>  */
>>
>> #include "axis2_stub_WSAuthService.h"
>>
>> /**
>>  * axis2_stub_WSAuthService C implementation
>>  */
>>
>> axis2_stub_t*axis2_stub_WSAuthService_create(const axutil_env_t *env,
>>         axis2_char_t *client_home, axis2_char_t *endpoint_uri) {
>>     axis2_stub_t *stub= NULL;
>>     axis2_endpoint_ref_t *endpoint_ref= NULL;
>>     AXIS2_FUNC_PARAM_CHECK ( client_home, env, NULL)
>>
>>     if (NULL == endpoint_uri) {
>>         endpoint_uri
>>                 = 
>> axis2_stub_WSAuthService_get_endpoint_uri_from_wsdl(env );
>>     }
>>
>>     endpoint_ref = axis2_endpoint_ref_create(env, endpoint_uri);
>>
>>     stub = axis2_stub_create_with_endpoint_ref_and_client_home (env,
>>             endpoint_ref, client_home );
>>     axis2_stub_WSAuthService_populate_services(stub, env );
>>     return stub;
>> }
>>
>> void axis2_stub_WSAuthService_populate_services(axis2_stub_t *stub,
>>         const axutil_env_t *env) {
>>     axis2_svc_client_t *svc_client= NULL;
>>     axutil_qname_t *svc_qname=  NULL;
>>     axutil_qname_t *op_qname=  NULL;
>>     axis2_svc_t *svc= NULL;
>>     axis2_op_t *op= NULL;
>>     
>>      axis2_phases_info_t *info = NULL;
>>         axis2_svc_ctx_t *svc_ctx = NULL;
>>         axis2_conf_ctx_t *conf_ctx = NULL;
>>         axis2_conf_t *conf = NULL;
>>
>>
>>
>>     /* Modifying the Service */
>>     svc_client = axis2_stub_get_svc_client (stub, env );
>>     svc = (axis2_svc_t*)axis2_svc_client_get_svc(svc_client, env );
>>
>>     /* Hotfix, from the mailing list */
>>     svc_ctx = axis2_svc_client_get_svc_ctx(svc_client, env);
>>      conf_ctx = axis2_svc_ctx_get_conf_ctx(svc_ctx, env);
>>      conf = axis2_conf_ctx_get_conf(conf_ctx, env);
>>      info =  axis2_conf_get_phases_info(conf, env);
>>     
>>     axutil_qname_create(env, "WSAuthService", NULL, NULL);
>>     axis2_svc_set_qname (svc, env, svc_qname);
>>
>>     /* creating the operations*/
>>
>> /* [...] (other ops) */
>>
>>     op_qname = axutil_qname_create(env, "getPosixUserByName", 
>> "urn:WSAuth",     NULL);
>>     op = axis2_op_create_with_qname(env, op_qname);
>>
>>     axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN);
>>
>>     axis2_phases_info_set_op_phases(info, env, op);
>>
>>     axis2_svc_add_op(svc, env, op);
>>
>> /* [...] (other ops) */
>>
>> }
>>
>> /**
>>  *return end point picked from wsdl
>>  */
>> axis2_char_t*axis2_stub_WSAuthService_get_endpoint_uri_from_wsdl(
>>         const axutil_env_t *env) {
>>     axis2_char_t *endpoint_uri= NULL;
>>     /* set the address from here */
>>
>>     endpoint_uri = "http://localhost:8080/axis2/services/WSAuth";
>>
>>     return endpoint_uri;
>> }
>>
>>
>> /**
>>  * auto generated method signature
>>  * for "getPosixUserByName|urn:WSAuth" operation.
>>  * @param getPosixUserByName
>>  * @return
>>  */
>>
>> adb_PosixUser_t* axis2_stub_WSAuthService_getPosixUserByName(
>>         axis2_stub_t *stub, const axutil_env_t *env,
>>         axis2_char_t *param_username) {
>>     axis2_svc_client_t *svc_client= NULL;
>>     axis2_options_t *options= NULL;
>>     axiom_node_t *ret_node= NULL;
>>
>>     const axis2_char_t *soap_action= NULL;
>>     axutil_qname_t *op_qname=  NULL;
>>     axiom_node_t *payload= NULL;
>>
>>     const axutil_string_t *soap_act= NULL;
>>
>>     adb_getPosixUserByNameResponse_t* ret_val= NULL;
>>
>>
>>     /* Wrapping */
>>     adb_getPosixUserByName_t_t *getPosixUserByName_t = 
>> adb_getPosixUserByName_t_create(env);
>>     adb_getPosixUserByName_t_set_username(getPosixUserByName_t, env, 
>> param_username);
>>     adb_getPosixUserByName_t *getPosixUserByName = 
>> adb_getPosixUserByName_create(env);
>>     adb_getPosixUserByName_set_getPosixUserByName(getPosixUserByName, 
>> env, getPosixUserByName_t);
>>
>>     payload = adb_getPosixUserByName_serialize(getPosixUserByName, 
>> env, NULL,
>>             AXIS2_FALSE);
>>
>>     options = axis2_stub_get_options(stub, env);
>>     if ( NULL == options) {
>>         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "options is null in 
>> stub: Error code:"
>>                 " %d :: %s", env->error->error_number,
>>                 AXIS2_ERROR_GET_MESSAGE(env->error));
>>         return NULL;
>>     }
>>     svc_client = axis2_stub_get_svc_client(stub, env );
>>     soap_action = axis2_options_get_action(options, env );
>>     if ( NULL == soap_action) {
>>         soap_action = "urn:WSAuth";
>>
>>         soap_act = axutil_string_create(env, "urn:WSAuth");
>>         axis2_options_set_soap_action(options, env, soap_act);
>>
>>         axis2_options_set_action(options, env, soap_action );
>>     }
>>
>>     axis2_options_set_soap_version(options, env, AXIOM_SOAP11 );
>>
>>     op_qname = axutil_qname_create(env, "getPosixUserByName", 
>> "urn:WSAuth",     NULL);
>>     ret_node = 
>> axis2_svc_client_send_receive_with_op_qname(svc_client, env,
>>             op_qname, payload);
>>
>>     if ( NULL == ret_node) {
>>         return NULL;
>>     }
>>     ret_val = adb_getPosixUserByNameResponse_create(env);
>>
>>     adb_getPosixUserByNameResponse_deserialize(ret_val, env, ret_node );
>>     
>>     /* Unwrapping */
>>     if (ret_val)
>>     {
>>
>>             adb_getPosixUserByNameResponse_t_t *ret_val_unwrap = 
>> adb_getPosixUserByNameResponse_get_getPosixUserByNameResponse(ret_val, 
>> env);
>>
>>         if (ret_val_unwrap)         {   
>>             adb_PosixUser_t *user = 
>> adb_getPosixUserByNameResponse_t_get_user(ret_val_unwrap, env);
>>
>>                 return user;
>>         }
>>     }
>>     
>>     return NULL;
>>
>> }
>>
>>
>> /* [...] */
>>
>>
>>   
>> ------------------------------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>


-- 
http://kaushalye.blogspot.com/
http://wso2.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Mime
View raw message