Hi Supun, This is a bug first occured in rampart/c, the soapFault string returned from rampart/c is NOT a well formed XML, there is a bug filed on rampart/c part. But AXIS2/c should not generate the ACCESS Violation too. This is another bug needs to be fixed. Thanks! Ray --- On Fri, 3/13/09, Supun Kamburugamuva <supu...@gmail.com> wrote:
From: Supun Kamburugamuva <supu...@gmail.com> Subject: Re: ACCESS violation - axis2/c code can not handle rampart/c related soapFault? To: "Apache AXIS C Developers List" <axis-c-dev@ws.apache.org> Date: Friday, March 13, 2009, 6:10 PM I didn't understood your question first time :) Anyway it seems that the error occurs in the Axiom level. Cannot tell the actual error by looking at the stack. Did you get the error while processing the fault or is it occurring at the engine level? Supun On Fri, Mar 13, 2009 at 11:13 AM, Raymond Zhou <raywang...@yahoo.com> wrote: Hi Supun, I know the policies does not match, I was testing some error cases like invalid password.or mismatched policies. But I should not expect to see an access violation (stack included in my previous message)! It seems that axis2/c code can not handle the soapFault that the server throws back. I think this is a bug needs to be fixed. Thanks! Ray --- On Fri, 3/13/09, Supun Kamburugamuva <supu...@gmail.com> wrote: From: Supun Kamburugamuva <supu...@gmail.com> Subject: Re: ACCESS violation - axis2/c code can not handle rampart/c related soapFault? To: "Apache AXIS C Developers List" <axis-c-dev@ws.apache.org> Date: Friday, March 13, 2009, 5:56 AM Please check weather the client and server policies are matching. It seems that server doesn't accept time stamp and client generates a time stamp. Supun On Fri, Mar 13, 2009 at 10:51 AM, Raymond Zhou <raywang...@yahoo.com> wrote: Hi All, I am using axis2/c Version 1.5 and rampart/c version 1.2 to build a WS client. I built a debug version binaries from source code. When I go through the rampart/c test cases, I am getting this access violation consistently. It happens only when I made a mistake, for example, using senario 1 services.xml in server side but use senario 2 policy file on the client side, or I send in a wrong password (programmatically). I used tcpmon to track the return message from the server, and as expected, I am getting a soapFault message like the following: HTTP/1.1 500 Internal Server Error Date: Thu Mar 12 22:40:06 2009 GMT Server: Axis2C/1.5.0 (Simple Axis2 HTTP Server) Content-Type: text/xml;charset=UTF-8 Content-Length: 628 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header></soapenv:Header><soapenv:Body><soapenv:Fault><faultcode><Subcode xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><Value>wsse:InvalidSecurityToken</Value></Subcode>soapenv:Sender</faultcode><faultstring>Timestamp should not be in the message </faultstring><detail><wsse:ProblemSecurityHeader xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">wsse:Timestamp</wsse:ProblemSecurityHeader></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> Now it seems that axis2/c can not handle this soapFault message, I always get access violation, here is the stack: Call stack: 001B:03B6A4ED, axiom_node_set_complete()+0061 byte(s), c:\axis2c_1.5\axiom\src\o m\om_node.c, line 1134+0006 byte(s) 001B:03B6D1AF, axiom_stax_builder_end_element()+0095 byte(s), c:\axis2c_1.5\axio m\src\om\om_stax_builder.c, line 0763 001B:03B6D8F1, axiom_stax_builder_next_with_token()+0289 byte(s), c:\axis2c_1.5\ axiom\src\om\om_stax_builder.c, line 1157 001B:03B71E0B, axiom_soap_builder_next()+0139 byte(s), c:\axis2c_1.5\axiom\src\s oap\soap_builder.c, line 0301+0015 byte(s) 001B:03B74C21, axiom_soap_fault_get_reason()+0081 byte(s), c:\axis2c_1.5\axiom\s rc\soap\soap_fault.c, line 0275+0016 byte(s) 001B:03B715B6, axiom_soap_body_convert_fault_to_soap11()+0390 byte(s), c:\axis2c _1.5\axiom\src\soap\soap_body.c, line 0422+0013 byte(s) 001B:03BFBDEE, axis2_svc_client_send_receive_with_op_qname()+1358 byte(s), c:\ax is2c_1.5\src\core\clientapi\svc_client.c, line 0925 001B:03BFBE36, axis2_svc_client_send_receive()+0022 byte(s), c:\axis2c_1.5\src\c ore\clientapi\svc_client.c, line 0941 Is this a known issue or has this bug been fixed? Thanks much! Ray -- Software Engineer, WSO2 Inc http://wso2.org supunk.blogspot.com -- Software Engineer, WSO2 Inc http://wso2.org supunk.blogspot.com