Architecture to replace axis2.xml and services.xml
I am using Axis2/C in an kiosk application. So my customer is the admin of the system and their customers the user of the system. The security is designed to limit my customer, the effective admin of the system from enabling features no purchased. If the architecture of Axis2/C allows it, I would like to replace the stock system that reads the axis2.xml and services.xml files with something that is not so easy for an admin (my users) to modify. Does the architecture of Axis2/C allow this? If so, what should I be looking at? Sam
Re: Accessing Services.xml from within a running service?
--- On Thu, 10/16/08, Manjula Peiris [EMAIL PROTECTED] wrote: From: Manjula Peiris [EMAIL PROTECTED] Subject: Re: Accessing Services.xml from within a running service? To: [EMAIL PROTECTED] But, I'm a little confused how do I build the axis2_msg_ctx_t object. It looks like I need a axis2_conf_ctx object and other information. But, where does that all come from? You don't need to create it from your service. It is passed in to your service invoke method in the service skeleton. Now I see what your talking about, but the location is bad for me. I need the parameters during my services init phase, not when I'm taking a service call. So when my services axis2_get_instance() is called, I need to get access to the parameters. Is that possible? Opportunities multiply as they are seized. - Sun Tzu __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Accessing Services.xml from within a running service?
Hi all, At the moment we cannot access any of Axis2 configuration from the init method. I believe this is a pretty useful feature. How about adding a field to the axis2_svc_skeleton_t to hold the configuration context so that users can access it when they are in the init method. Any thoughts? Supun.. On Mon, Oct 20, 2008 at 7:21 PM, Tony Hoyt [EMAIL PROTECTED] wrote: --- On Thu, 10/16/08, Manjula Peiris [EMAIL PROTECTED] wrote: From: Manjula Peiris [EMAIL PROTECTED] Subject: Re: Accessing Services.xml from within a running service? To: [EMAIL PROTECTED] But, I'm a little confused how do I build the axis2_msg_ctx_t object. It looks like I need a axis2_conf_ctx object and other information. But, where does that all come from? You don't need to create it from your service. It is passed in to your service invoke method in the service skeleton. Now I see what your talking about, but the location is bad for me. I need the parameters during my services init phase, not when I'm taking a service call. So when my services axis2_get_instance() is called, I need to get access to the parameters. Is that possible? Opportunities multiply as they are seized. - Sun Tzu __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Software Engineer, WSO2 Inc http://wso2.org
Re: Accessing Services.xml from within a running service?
On Tue, 2008-10-21 at 10:02 +0530, Uthaiyashankar wrote: Supun Kamburugamuva wrote: Hi all, At the moment we cannot access any of Axis2 configuration from the init method. I believe this is a pretty useful feature. How about adding a field to the axis2_svc_skeleton_t to hold the configuration context so that users can access it when they are in the init method. Any thoughts? +1. -Manjula. +1 for adding field to axis2_svc_skeleton_t. It would be really useful if we can access the context hierarchy in the service init method. Regards, Shankar. Supun.. On Mon, Oct 20, 2008 at 7:21 PM, Tony Hoyt [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: --- On Thu, 10/16/08, Manjula Peiris [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: From: Manjula Peiris [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] Subject: Re: Accessing Services.xml from within a running service? To: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] But, I'm a little confused how do I build the axis2_msg_ctx_t object. It looks like I need a axis2_conf_ctx object and other information. But, where does that all come from? You don't need to create it from your service. It is passed in to your service invoke method in the service skeleton. Now I see what your talking about, but the location is bad for me. I need the parameters during my services init phase, not when I'm taking a service call. So when my services axis2_get_instance() is called, I need to get access to the parameters. Is that possible? Opportunities multiply as they are seized. - Sun Tzu __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] -- Software Engineer, WSO2 Inc http://wso2.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Accessing Services.xml from within a running service?
Okay, I see the fact that I can create an axis2_msg_ctx_t object using the following function... AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_msg_ctx_create( const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc); Then get the axis2_svc object... AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_msg_ctx_get_svc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); Then aquire the parameter I want AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_get_param( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * name); And finally extract the value there with this function... AXIS2_EXTERN void *AXIS2_CALL axutil_param_get_value( struct axutil_param *param, const axutil_env_t * env); But, I'm a little confused how do I build the axis2_msg_ctx_t object. It looks like I need a axis2_conf_ctx object and other information. But, where does that all come from? Opportunities multiply as they are seized. - Sun Tzu --- On Sun, 10/12/08, Supun Kamburugamuva [EMAIL PROTECTED] wrote: From: Supun Kamburugamuva [EMAIL PROTECTED] Subject: Re: Accessing Services.xml from within a running service? To: Apache AXIS C User List axis-c-user@ws.apache.org, [EMAIL PROTECTED] Date: Sunday, October 12, 2008, 12:51 AM Hi Tony, The values in the services.xml are stored as parameters in the axis2_svc_t. You can fetch the current axis2_svc_t from the msg_ctx_t. Then you can use that to extract the parameters from the services.xml.The custom entries are stored as axutil_param_t in the axis2_svc_t. Please note that you can only put custom entries to the services.xml as parameter values. Supun. On Fri, Oct 10, 2008 at 12:47 AM, Tony Hoyt [EMAIL PROTECTED] wrote: I've been toying with Axis2/C lately in an attempt to prototype it for a possible service but, I've hit a non-critical snag. I wish to use the services.xml file to contain some custom parameters, but I haven't found a way to access that information within a running service. I don't wish to load the data manually unless I'm forced to. I initially was under the impression I could just ask Axis2 to give me the information. Searching the net and nonamely, this mailing list, I've seen at least one post that pointed towards the following headers 1. axis2_svc_ctx.h 2. axis2_svc.h And while they seem to contain the objects I would use to access the data, new instances of the objects don't seem to natively contain the data. Can anyone provide a simple example of how this is supposed to be done? Thanks. Tony Opportunities multiply as they are seized. - Sun Tzu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Software Engineer, WSO2 Inc http://wso2.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Accessing Services.xml from within a running service?
On Thu, 2008-10-16 at 09:15 -0700, Tony Hoyt wrote: Okay, I see the fact that I can create an axis2_msg_ctx_t object using the following function... AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_msg_ctx_create( const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc); Then get the axis2_svc object... AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_msg_ctx_get_svc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); Then aquire the parameter I want AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_get_param( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * name); And finally extract the value there with this function... AXIS2_EXTERN void *AXIS2_CALL axutil_param_get_value( struct axutil_param *param, const axutil_env_t * env); But, I'm a little confused how do I build the axis2_msg_ctx_t object. It looks like I need a axis2_conf_ctx object and other information. But, where does that all come from? You don't need to create it from your service. It is passed in to your service invoke method in the service skeleton. Opportunities multiply as they are seized. - Sun Tzu --- On Sun, 10/12/08, Supun Kamburugamuva [EMAIL PROTECTED] wrote: From: Supun Kamburugamuva [EMAIL PROTECTED] Subject: Re: Accessing Services.xml from within a running service? To: Apache AXIS C User List axis-c-user@ws.apache.org, [EMAIL PROTECTED] Date: Sunday, October 12, 2008, 12:51 AM Hi Tony, The values in the services.xml are stored as parameters in the axis2_svc_t. You can fetch the current axis2_svc_t from the msg_ctx_t. Then you can use that to extract the parameters from the services.xml.The custom entries are stored as axutil_param_t in the axis2_svc_t. Please note that you can only put custom entries to the services.xml as parameter values. Supun. On Fri, Oct 10, 2008 at 12:47 AM, Tony Hoyt [EMAIL PROTECTED] wrote: I've been toying with Axis2/C lately in an attempt to prototype it for a possible service but, I've hit a non-critical snag. I wish to use the services.xml file to contain some custom parameters, but I haven't found a way to access that information within a running service. I don't wish to load the data manually unless I'm forced to. I initially was under the impression I could just ask Axis2 to give me the information. Searching the net and nonamely, this mailing list, I've seen at least one post that pointed towards the following headers 1. axis2_svc_ctx.h 2. axis2_svc.h And while they seem to contain the objects I would use to access the data, new instances of the objects don't seem to natively contain the data. Can anyone provide a simple example of how this is supposed to be done? Thanks. Tony Opportunities multiply as they are seized. - Sun Tzu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Software Engineer, WSO2 Inc http://wso2.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Raghavendra SM wrote: Samisa, The linker flags -lpthread -ldl are being used in our server. Please find the axis log generated below. Please let us know if you find anything fishy with the log, Does line #375 below, imply Server to be fine? It looks that everything on the server seems to be fine. Can you please look at the client log as well. Thanks, Samisa... --- [Sun Jul 29 08:10:11 2007] [info] Starting HTTP server thread 334 [Sun Jul 29 08:10:44 2007] [debug] http_worker.c(155) Client HTTP version HTTP/1.1 335 [Sun Jul 29 08:10:44 2007] [debug] soap_builder.c(744) Identified soap version is soap11 336 [Sun Jul 29 08:10:44 2007] [debug] soap_envelope.c(270) [MRR-DEBUG] there is soap body 337 338 [Sun Jul 29 08:10:44 2007] [debug] engine.c(571) Invoking phase Transport 339 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler request_uri_based_dispatcher within the phase Transport 340 [Sun Jul 29 08:10:44 2007] [debug] req_uri_disp.c(103) Checking for service using target endpoint address : http://127.0.0.1:9090/axis2/services/My 341 [Sun Jul 29 08:10:44 2007] [debug] req_uri_disp.c(124) Service found using target endpoint address 342 [Sun Jul 29 08:10:44 2007] [debug] engine.c(571) Invoking phase PreDispatch 343 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler AddressingInHandler within the phase PreDispatch 344 [Sun Jul 29 08:10:44 2007] [info] Starting addressing in handler . 345 [Sun Jul 29 08:10:44 2007] [debug] engine.c(571) Invoking phase Dispatch 346 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch 347 [Sun Jul 29 08:10:44 2007] [debug] soap_envelope.c(270) [MRR-DEBUG] there is soap body 348 349 [Sun Jul 29 08:10:44 2007] [debug] soap_body_disp.c(217) Checking for operation using SOAP message body's first child's local name : readList 350 [Sun Jul 29 08:10:44 2007] [debug] soap_body_disp.c(226) Operation found using SOAP message body's first child's local name 351 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler addressing_based_dispatcher within the phase Dispatch 352 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler soap_action_based_dispatcher within the phase Dispatch 353 [Sun Jul 29 08:10:44 2007] [debug] engine.c(571) Invoking phase PostDispatch 354 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch 355 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler context_handler within the phase PostDispatch 356 [Sun Jul 29 08:10:44 2007] [debug] msg_recv.c(267) [MRR-DEBUG]axis2_msg_recv_receive_impl 357 358 [Sun Jul 29 08:10:44 2007] [debug] core_utils.c(34) [MRR-DEBUG]axis2_core_utils_create_out_msg_ctx 359 360 [Sun Jul 29 08:10:44 2007] [debug] msg_recv.c(376) [MRR-DEBUG] invoke axis2_msg_recv_set_invoke_business_logic() 361 362 [Sun Jul 29 08:10:44 2007] [debug] class_loader.c(135) Object loaded successfully 363 [Sun Jul 29 08:10:44 2007] [debug] soap_envelope.c(270) [MRR-DEBUG] there is soap body 364 365 [Sun Jul 29 08:10:44 2007] [debug] msg_recv.c(328) [MRR-DEBUG] 366 367 [Sun Jul 29 08:10:44 2007] [debug] soap_envelope.c(270) [MRR-DEBUG] there is soap body 368 369 [Sun Jul 29 08:10:44 2007] [debug] engine.c(571) Invoking phase MessageOut 370 [Sun Jul 29 08:10:44 2007] [debug] phase.c(195) Invoke the handler AddressingOutHandler within the phase MessageOut 371 [Sun Jul 29 08:10:44 2007] [debug] soap_envelope.c(270) [MRR-DEBUG] there is soap body 372 373 [Sun Jul 29 08:10:44 2007] [debug] engine.c(179) Axis2 engine send successful 374 [Sun Jul 29 08:10:44 2007] [debug] engine.c(292) Axis2 engine receive completed! 375 [Sun Jul 29 08:10:44 2007] [info] Request served in 0.031 seconds Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Saturday, July 28, 2007 11:34 AM To: Apache AXIS C User List Subject: Re: Services.xml Raghavendra SM wrote: Oh Sorry, acc_invoke was a typo error, and it actually is my_invoke. Even then I face the same problem. Please take another look let us know if you need more information of any sort. Well, I fixed this typo, removed the func_array add statements form init method and also fixed a typo on line 105 where the trailing double quote of the string was missing and replaced echo with this service and everything worked fine. Of course, I also commented out your custom logging statements. How did you compile the service lib? What is the exact compiler options used? I used the makefile form echo service. If you used command line to compile, make sure you used
RE: Services.xml
Hi Samisa, The situation here is that the server receives the request from client processes it and calls the correct functions and when the server responds to the client with a complextype xml, this XML doesn't reach the client. Q)What does the client log say? A)I am using non-axis clients (php clients right now) In fact the XML we have formed is syntactically correct but the client doesn't receive xml. After calling this API axiom_xml_writer_get_xml() the buffer obtained shows the correct response xml formed by the server. the sample response xml is ns1:Result xmlns:ns1=http://axis2c/services/My Service Name/namespace1 Is this the exact XML or a sample? If this is exact XML, then having My Service Name in XML is incorrect. A) My Service Name was just an example I gave, in the response we are sending the correct Service name. Samisa... ns1:myReadResponse ErrorCode0/ErrorCode ErrorMessageSUCCESS/ErrorMessage myResponse param1Default/param1 param215/param2 param3home.net/param3 param4office.net/param4 param51/param5 param61024/param6 param71024/param7 param815/param8 param9-1/param9 param10-1/param10 param111/param11 /myResponse myResponse param1om/param1 param25/param2 param3google.com:0/param3 param4yahoo.com:0/param4 param52/param5 param62400/param6 param72400/param7 param815/param8 param93/param9 param10-1/param10 param111/param11 /myResponse myResponse param1omnew123344/param1 param25/param2 param3domain1.com:0/param3 param4domain2.com:0/param4 param52/param5 param62400/param6 param72400/param7 param815/param8 param9511/param9 param10255/param10 param111/param11 /myResponse /ns1:myReadResponse /ns1:Result The client doesn't receive any XML at all in this case. The rest of the framework, if you can call it, for writing clients has been done and is being used for some time now. Thanks, Manoj R On Saturday 28 Jul 2007 11:34 am, Samisa Abeysinghe wrote: Raghavendra SM wrote: Oh Sorry, acc_invoke was a typo error, and it actually is my_invoke. Even then I face the same problem. Please take another look let us know if you need more information of any sort. Well, I fixed this typo, removed the func_array add statements form init method and also fixed a typo on line 105 where the trailing double quote of the string was missing and replaced echo with this service and everything worked fine. Of course, I also commented out your custom logging statements. How did you compile the service lib? What is the exact compiler options used? I used the makefile form echo service. If you used command line to compile, make sure you used -lpthread -ldl options when linking. Thanks, Samisa... Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Friday, July 27, 2007 6:53 AM To: Apache AXIS C User List Subject: Re: Services.xml Raghavendra SM wrote: Hi Samisa, Please find the server code below, which is causing the problems as described by Manoj Rao. Please let me know if need more information than this. These are the skeleton functions of the server. I think I found the problem. In your my_svc_skeleton_ops_var variable, you have provided my_invoke as the invoke function. However, in your source, there is no such function, rather a function named acc_invoke. I think you have to rename acc_invoke to my_invoke and try. Also in the my_init function, you do not need to initialize svc_skeleton-func_array. You can safely comment whole of my_init function, leaving only the return AXIS2_SUCCESS; line in there. HTH. Thanks, Samisa... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal
Re: Services.xml
Manoj Rao wrote: Hi Samisa, The situation here is that the server receives the request from client processes it and calls the correct functions and when the server responds to the client with a complextype xml, this XML doesn't reach the client. Q)What does the client log say? A)I am using non-axis clients (php clients right now) OK, so looking at the log, there seems to be no problem. There needs to be one more step to verify that all on the server side works fine. That is to use a message capture tool, like TCPMon and see of the server gives out the response. There is a tcpmon tool that comes with Axis2/C, you can also use the Java tool [1]. Thanks, Samisa... [1] http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Hi Samisa, The situation here is that the server receives the request from client processes it and calls the correct functions and when the server responds to the client with a complextype xml, this XML doesn't reach the client. In fact the XML we have formed is syntactically correct but the client doesn't receive xml. After calling this API axiom_xml_writer_get_xml() the buffer obtained shows the correct response xml formed by the server. the sample response xml is ns1:Result xmlns:ns1=http://axis2c/services/My Service Name/namespace1 ns1:myReadResponse ErrorCode0/ErrorCode ErrorMessageSUCCESS/ErrorMessage myResponse param1Default/param1 param215/param2 param3home.net/param3 param4office.net/param4 param51/param5 param61024/param6 param71024/param7 param815/param8 param9-1/param9 param10-1/param10 param111/param11 /myResponse myResponse param1om/param1 param25/param2 param3google.com:0/param3 param4yahoo.com:0/param4 param52/param5 param62400/param6 param72400/param7 param815/param8 param93/param9 param10-1/param10 param111/param11 /myResponse myResponse param1omnew123344/param1 param25/param2 param3domain1.com:0/param3 param4domain2.com:0/param4 param52/param5 param62400/param6 param72400/param7 param815/param8 param9511/param9 param10255/param10 param111/param11 /myResponse /ns1:myReadResponse /ns1:Result The client doesn't receive any XML at all in this case. The rest of the framework, if you can call it, for writing clients has been done and is being used for some time now. Thanks, Manoj R On Saturday 28 Jul 2007 11:34 am, Samisa Abeysinghe wrote: Raghavendra SM wrote: Oh Sorry, acc_invoke was a typo error, and it actually is my_invoke. Even then I face the same problem. Please take another look let us know if you need more information of any sort. Well, I fixed this typo, removed the func_array add statements form init method and also fixed a typo on line 105 where the trailing double quote of the string was missing and replaced echo with this service and everything worked fine. Of course, I also commented out your custom logging statements. How did you compile the service lib? What is the exact compiler options used? I used the makefile form echo service. If you used command line to compile, make sure you used -lpthread -ldl options when linking. Thanks, Samisa... Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Friday, July 27, 2007 6:53 AM To: Apache AXIS C User List Subject: Re: Services.xml Raghavendra SM wrote: Hi Samisa, Please find the server code below, which is causing the problems as described by Manoj Rao. Please let me know if need more information than this. These are the skeleton functions of the server. I think I found the problem. In your my_svc_skeleton_ops_var variable, you have provided my_invoke as the invoke function. However, in your source, there is no such function, rather a function named acc_invoke. I think you have to rename acc_invoke to my_invoke and try. Also in the my_init function, you do not need to initialize svc_skeleton-func_array. You can safely comment whole of my_init function, leaving only the return AXIS2_SUCCESS; line in there. HTH. Thanks, Samisa... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Raghavendra SM wrote: Hi Samisa, Please find the server code below, which is causing the problems as described by Manoj Rao. Please let me know if need more information than this. These are the skeleton functions of the server. I think I found the problem. In your my_svc_skeleton_ops_var variable, you have provided my_invoke as the invoke function. However, in your source, there is no such function, rather a function named acc_invoke. I think you have to rename acc_invoke to my_invoke and try. Also in the my_init function, you do not need to initialize svc_skeleton-func_array. You can safely comment whole of my_init function, leaving only the return AXIS2_SUCCESS; line in there. HTH. Thanks, Samisa... -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Services.xml
Hi Samisa, Please find the server code below, which is causing the problems as described by Manoj Rao. Please let me know if need more information than this. These are the skeleton functions of the server. -- 33 int AXIS2_CALL 34 my_init(axis2_svc_skeleton_t *svc_skeleton, 35 const axutil_env_t *env) 36 { 37 SpsErrorLog(\nSPSAS: Entered my_init()\n); 38 fflush(stdout); 39 svc_skeleton-func_array = axutil_array_list_create(env, 0); 40 axutil_array_list_add(svc_skeleton-func_array, env, (void*)create); 41 axutil_array_list_add(svc_skeleton-func_array, env, (void*)delete); 42 axutil_array_list_add(svc_skeleton-func_array, env, (void*)update); 43 44 /* Any initialization stuff goes here */ 45 return AXIS2_SUCCESS; 46 } 48 int AXIS2_CALL 49 my_free(axis2_svc_skeleton_t *svc_skeleton, 50 const axutil_env_t *env) 51 { 52 TraceLog(\n[AG-DEBUG] entered my_free\n); 53 fflush(stdout); 54 66 if(svc_skeleton) 67 { 68 AXIS2_FREE((env)-allocator, svc_skeleton); 69 svc_skeleton = NULL; 70 } 71 return AXIS2_SUCCESS; 72 } 77 axiom_node_t* AXIS2_CALL 78 acc_invoke(axis2_svc_skeleton_t *svc_skeleton, 79 const axutil_env_t *env, 80 axiom_node_t *node, 81 axis2_msg_ctx_t *msg_ctx) 82 { 83fflush(stdout); 85 /* Depending on the function name invoke the 86 * corresponding method 87 */ 88 if (node) 89 { 90 if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) 91 { 92 axiom_element_t *element = NULL; 93 element = (axiom_element_t *)axiom_node_get_data_element(node, env); 94 if (element) 95 { 96 axis2_char_t *op_name = axiom_element_get_localname(element, env); 97 if (op_name) 98 { 99 if ( axutil_strcmp(op_name, create) == 0 ) 100 return axis2_my_create1(env, node); 101 if ( axutil_strcmp(op_name, delete) == 0 ) 102 return axis2_my_delete1(env, node); 103 if ( axutil_strcmp(op_name, modify) == 0 ) 104 return axis2_my_modify1(env, node); 105 if ( axutil_strcmp(op_name, readList) == 0 ) 106 return axis2_my_readList(env, node); 107 } 108 } 109 } 110 } 111 else 112 { 113 ErrorLog(ERROR: invalid OM parameters in request\n); 114 } 115 116 /** TODO: return a SOAP fault here */ 117 return node; 118 } 119static const axis2_svc_skeleton_ops_t my_svc_skeleton_ops_var = { 120 my_init, 121 my_invoke, 122 NULL, 123 my_free 124 }; 125 126 axis2_svc_skeleton_t * 127 axis2_my_create(const axutil_env_t *env) 128 { 129 132 axis2_svc_skeleton_t *svc_skeleton = NULL; 133 svc_skeleton = (axis2_svc_skeleton_t*) AXIS2_MALLOC((env)-allocator, 134 sizeof(axis2_svc_skeleton_t)); 135 136 137 svc_skeleton-ops = (axis2_svc_skeleton_ops_t*)AXIS2_MALLOC( 138 (env)-allocator, sizeof(axis2_svc_skeleton_ops_t)); 139 140 svc_skeleton-func_array = NULL; 141 svc_skeleton-ops = my_svc_skeleton_ops_var; 142 150 return svc_skeleton; 151 } 157 AXIS2_EXPORT int axis2_get_instance(struct axis2_svc_skeleton **inst, 158 const axutil_env_t *env) 159 { 160 SpsTraceLog(\nCalling dlopen() inside axis2_get_instance\n); 161 ptr = dlopen(/root/lib/libMy.so,RTLD_LAZY|RTLD_GLOBAL); 162 if(NULL == ptr) 163 { 164 SpsErrorLog(\ndlopen returned NULL); 165 SpsErrorLog(\nFor dlopen()...dlerror says the following\n%s\n,dlerror()); 166 } 167 SpsTraceLog(\ndlopen returned ptr with addr %u,ptr); 168 169 170 *inst = axis2_my_create(env); 171 if(NULL == (*inst)) 172 { 173 return AXIS2_FAILURE; 174 } 175 176 return AXIS2_SUCCESS; 177 } 178 179 AXIS2_EXPORT int axis2_remove_instance(axis2_svc_skeleton_t *inst, 180 const axutil_env_t *env) 181 { 182 axis2_status_t status = AXIS2_FAILURE; 183 if (inst) 184 { 185 status = AXIS2_SVC_SKELETON_FREE(inst, env); 186 } 187 return status; 188 } Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Thursday, July 26, 2007 8:38 AM To: Apache AXIS C User List Subject: Re: Services.xml Is it possible for you to send the server code? I can try it and see what is going wrong. Thanks, Samisa... Manoj Rao wrote: Hi all, What are the major differences in the logic
RE: Services.xml
Oh Sorry, acc_invoke was a typo error, and it actually is my_invoke. Even then I face the same problem. Please take another look let us know if you need more information of any sort. Regards, ~raghav -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Friday, July 27, 2007 6:53 AM To: Apache AXIS C User List Subject: Re: Services.xml Raghavendra SM wrote: Hi Samisa, Please find the server code below, which is causing the problems as described by Manoj Rao. Please let me know if need more information than this. These are the skeleton functions of the server. I think I found the problem. In your my_svc_skeleton_ops_var variable, you have provided my_invoke as the invoke function. However, in your source, there is no such function, rather a function named acc_invoke. I think you have to rename acc_invoke to my_invoke and try. Also in the my_init function, you do not need to initialize svc_skeleton-func_array. You can safely comment whole of my_init function, leaving only the return AXIS2_SUCCESS; line in there. HTH. Thanks, Samisa... -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Manoj Rao wrote: Hi all, What are the major differences in the logic of axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync() function between 0.90 and 1.0. Is it just the nomenclature of API's? I am facing problems in my PostDispatch phase where my response xml from server is not reaching the client. Please help me. Most probrbaly it is not the axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync() function that is causing the problem. I guess it is the service implementation. If you look at the service skeleton implementation, as an example, echo service, you will find that you have to allocate the ops struct as a static variable. e.g. static const axis2_svc_skeleton_ops_t echo_svc_skeleton_ops_var = { echo_init, echo_invoke, echo_on_fault, echo_free }; And in your service creation you have to assign it to ops svc_skeleton-ops = echo_svc_skeleton_ops_var; Please check your service implementtion. Samisa... Thanks, Manoj R -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:34 PM To: Apache AXIS C User List Subject: Re: Services.xml Looking at the back trace, the problem is most probably with the service library. Please try to re-compile the service. Also make sure the old libs form 0.90 are not in the library path, when you compile and run the service and client. Samisa... Manoj Rao wrote: Ok Maybe I was not clear in my previous emails, sorry. I am using 1.0's axis2.xml and when I send a request from the client my application dies after invoking the handler context_handler in PostDispatch phase. Backtrace from core shows the following. (gdb) bt #0 axis2_msg_recv_make_new_svc_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:157 #1 0xb7a61b35 in axis2_msg_recv_get_impl_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:184 #2 0xb7a61fc2 in axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, new_msg_ctx=0x8204e50) at raw_xml_in_out_msg_recv.c:93 #3 0xb7a61694 in axis2_msg_recv_invoke_business_logic (msg_recv=0x8194290, env=0x81fbe28, in_msg_ctx=0x81fc8f0, out_msg_ctx=0x8204e50) at msg_recv.c:372 #4 0xb7a61c4d in axis2_msg_recv_receive_impl (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:304 #5 0xb7a61714 in axis2_msg_recv_receive (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:407 #6 0xb7a59aac in axis2_engine_receive (engine=0x82045b0, env=0x81fbe28, msg_ctx=0x81fc8f0) at engine.c:288 #7 0xb7a7e144 in axis2_http_transport_utils_process_http_post_request (env=0x81fbe28, msg_ctx=0x81fc8f0, in_stream=0x81fbe58, out_stream=0x81fbff0, content_type=0x81fbef8 text/xml; charset=utf-8, content_length=632, soap_action_header=0x81fcc30, request_uri=0x81fca78 http://127.0.0.1:9090/axis2/services/SpsMvnoprofile;) at http_transport_utils.c:485 #8 0xb76ad307 in axis2_http_worker_process_request (http_worker=0x81fa9d8, env=0x81fbe28, svr_conn=0x81fbe48, simple_request=0x81fbee0) at http_worker.c:299 #9 0xb7a8db72 in axis2_svr_thread_worker_func (thd=0x81fbda0, data=0x81faa10) at http_svr_thread.c:256 #10 0xb7aad9fd in dummy_worker () from /opt/aylus/lib/libaxutil.so.0 #11 0xb7f510bd in start_thread () from /lib/tls/libpthread.so.0 #12 0xb793b9ee in clone () from /lib/tls/libc.so.6 I am not quite sure what the problem is, AXIS2_SVC_SKELETON_INIT fails as impl_class = 0x00 -Original Message- From: Dinesh Premalal [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:43 PM To: axis-c-user@ws.apache.org Subject: Re: Services.xml Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Services.xml
Hi all, What are the major differences in the logic of axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync() function between 0.90 and 1.0. Is it just the nomenclature of API's? I am facing problems in my PostDispatch phase where my response xml from server is not reaching the client. Please help me. Thanks, Manoj R -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:34 PM To: Apache AXIS C User List Subject: Re: Services.xml Looking at the back trace, the problem is most probably with the service library. Please try to re-compile the service. Also make sure the old libs form 0.90 are not in the library path, when you compile and run the service and client. Samisa... Manoj Rao wrote: Ok Maybe I was not clear in my previous emails, sorry. I am using 1.0's axis2.xml and when I send a request from the client my application dies after invoking the handler context_handler in PostDispatch phase. Backtrace from core shows the following. (gdb) bt #0 axis2_msg_recv_make_new_svc_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:157 #1 0xb7a61b35 in axis2_msg_recv_get_impl_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:184 #2 0xb7a61fc2 in axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, new_msg_ctx=0x8204e50) at raw_xml_in_out_msg_recv.c:93 #3 0xb7a61694 in axis2_msg_recv_invoke_business_logic (msg_recv=0x8194290, env=0x81fbe28, in_msg_ctx=0x81fc8f0, out_msg_ctx=0x8204e50) at msg_recv.c:372 #4 0xb7a61c4d in axis2_msg_recv_receive_impl (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:304 #5 0xb7a61714 in axis2_msg_recv_receive (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:407 #6 0xb7a59aac in axis2_engine_receive (engine=0x82045b0, env=0x81fbe28, msg_ctx=0x81fc8f0) at engine.c:288 #7 0xb7a7e144 in axis2_http_transport_utils_process_http_post_request (env=0x81fbe28, msg_ctx=0x81fc8f0, in_stream=0x81fbe58, out_stream=0x81fbff0, content_type=0x81fbef8 text/xml; charset=utf-8, content_length=632, soap_action_header=0x81fcc30, request_uri=0x81fca78 http://127.0.0.1:9090/axis2/services/SpsMvnoprofile;) at http_transport_utils.c:485 #8 0xb76ad307 in axis2_http_worker_process_request (http_worker=0x81fa9d8, env=0x81fbe28, svr_conn=0x81fbe48, simple_request=0x81fbee0) at http_worker.c:299 #9 0xb7a8db72 in axis2_svr_thread_worker_func (thd=0x81fbda0, data=0x81faa10) at http_svr_thread.c:256 #10 0xb7aad9fd in dummy_worker () from /opt/aylus/lib/libaxutil.so.0 #11 0xb7f510bd in start_thread () from /lib/tls/libpthread.so.0 #12 0xb793b9ee in clone () from /lib/tls/libc.so.6 I am not quite sure what the problem is, AXIS2_SVC_SKELETON_INIT fails as impl_class = 0x00 -Original Message- From: Dinesh Premalal [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:43 PM To: axis-c-user@ws.apache.org Subject: Re: Services.xml Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Dinesh Premalal [EMAIL PROTECTED] writes: Manoj Rao [EMAIL PROTECTED] writes: Hi all, Can anyone please explain how different is the addition of the following line under operation name helpful? parameter name=wsamapping Calculator#add/parameter BTW this parameter value should be a URL representing WS-Addressing action to particular operation. thanks, Dinesh -- Dinesh Premalal http://xydinesh.wordpress.com/ GPG ID : A255955C GPG Key Finger Print : C481 E5D4 C27E DC34 9257 0229 4F44 266E A255 955C - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Dinesh Premalal http://xydinesh.wordpress.com/ GPG ID : A255955C GPG Key Finger Print : C481 E5D4 C27E DC34 9257 0229 4F44 266E A255 955C - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Did you copy axis2.xml file form 0.90 to 1.0.0? They are not compatible, there are minor changes. You have to use axis2.xml that comes with 1.0.0. However, we did not change services.xml as far as I can recall. It helps to have a look into the services.xml file to get an idea on what is going wrong. Thanks, Samisa... Dinesh Premalal wrote: Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Services.xml
Looking at the back trace, the problem is most probably with the service library. Please try to re-compile the service. Also make sure the old libs form 0.90 are not in the library path, when you compile and run the service and client. Samisa... Manoj Rao wrote: Ok Maybe I was not clear in my previous emails, sorry. I am using 1.0's axis2.xml and when I send a request from the client my application dies after invoking the handler context_handler in PostDispatch phase. Backtrace from core shows the following. (gdb) bt #0 axis2_msg_recv_make_new_svc_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:157 #1 0xb7a61b35 in axis2_msg_recv_get_impl_obj (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0) at msg_recv.c:184 #2 0xb7a61fc2 in axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, new_msg_ctx=0x8204e50) at raw_xml_in_out_msg_recv.c:93 #3 0xb7a61694 in axis2_msg_recv_invoke_business_logic (msg_recv=0x8194290, env=0x81fbe28, in_msg_ctx=0x81fc8f0, out_msg_ctx=0x8204e50) at msg_recv.c:372 #4 0xb7a61c4d in axis2_msg_recv_receive_impl (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:304 #5 0xb7a61714 in axis2_msg_recv_receive (msg_recv=0x8194290, env=0x81fbe28, msg_ctx=0x81fc8f0, callback_recv_param=0x0) at msg_recv.c:407 #6 0xb7a59aac in axis2_engine_receive (engine=0x82045b0, env=0x81fbe28, msg_ctx=0x81fc8f0) at engine.c:288 #7 0xb7a7e144 in axis2_http_transport_utils_process_http_post_request (env=0x81fbe28, msg_ctx=0x81fc8f0, in_stream=0x81fbe58, out_stream=0x81fbff0, content_type=0x81fbef8 text/xml; charset=utf-8, content_length=632, soap_action_header=0x81fcc30, request_uri=0x81fca78 http://127.0.0.1:9090/axis2/services/SpsMvnoprofile;) at http_transport_utils.c:485 #8 0xb76ad307 in axis2_http_worker_process_request (http_worker=0x81fa9d8, env=0x81fbe28, svr_conn=0x81fbe48, simple_request=0x81fbee0) at http_worker.c:299 #9 0xb7a8db72 in axis2_svr_thread_worker_func (thd=0x81fbda0, data=0x81faa10) at http_svr_thread.c:256 #10 0xb7aad9fd in dummy_worker () from /opt/aylus/lib/libaxutil.so.0 #11 0xb7f510bd in start_thread () from /lib/tls/libpthread.so.0 #12 0xb793b9ee in clone () from /lib/tls/libc.so.6 I am not quite sure what the problem is, AXIS2_SVC_SKELETON_INIT fails as impl_class = 0x00 -Original Message- From: Dinesh Premalal [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:43 PM To: axis-c-user@ws.apache.org Subject: Re: Services.xml Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Services.xml
Hi Samisa, Yes I am using axis2.xml from 1.0.0 version. If you want to have a look into my services.xml this is how it looks === service name=MyService parameter name=ServiceClass locked=xsd:falseMyService/parameter description This is a testing service, named 'myservice' to test multiple operations in the same service /description operation name=createMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation operation name=deleteMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation operation name=modifyMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation operation name=readListMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation operation name=readDetailsMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation operation name=readNamesMYPROFILE !--messageReceiver class=axis2_receivers /-- /operation /service === Thanks, Manoj R -Original Message- From: Samisa Abeysinghe [mailto:[EMAIL PROTECTED] Sent: Monday, July 23, 2007 1:21 PM To: Apache AXIS C User List Subject: Re: Services.xml Did you copy axis2.xml file form 0.90 to 1.0.0? They are not compatible, there are minor changes. You have to use axis2.xml that comes with 1.0.0. However, we did not change services.xml as far as I can recall. It helps to have a look into the services.xml file to get an idea on what is going wrong. Thanks, Samisa... Dinesh Premalal wrote: Hi Manoj, Manoj Rao [EMAIL PROTECTED] writes: Hi Dinesh, Thanks for the reply. I was using axis2c 0.90 till recently and now migrated to 1.0 the same services.xml doesn't work here is there anything I need to change in axis2.xml before using it? Sample of my working services.xml is the simple math sample. It is the same services.xml still in math sample. AFAIK there is no special changes required in axis2.xml. What does your axis2.log says ? thanks, Dinesh -- Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]