Hi Oscar, Yeah, there are many problems with asynchronous communication in Axis2/C... Can you send me a sample in which the patch fails, and explain how it fails, so I can try to fix it?
Best Regards Alex On Tue, Feb 26, 2013 at 11:44 AM, Oscar Pernas <os...@pernas.es> wrote: > Hi, I think that I've solved it. To see what I'm receiving I had this code > for every response: > > //xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, > AXIS2_FALSE, > // AXIS2_XML_PARSER_TYPE_BUFFER); > //om_output = axiom_output_create(env, xml_writer); > > //if (messageNode){ > // axiom_node_serialize(messageNode, env, om_output); > //}else{ > // axiom_node_serialize(genericNode, env, om_output); > //} > //buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); > ////AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "\nSending OM node in XML : %s > \n", > //// buffer); > //if (om_output){ > // axiom_output_free(om_output, env); > // om_output = NULL; > //} > > After commented it, I can send more than one message, and everything seems > to go fine. Any idea of the reason? > > I've given up myself in trying to get an asynchronous communication (not > blocking) working. OnError callback ends in a crash. Have anyone tested it > with trunk code? I've applied Alex Mantaut patch but doesnt work at all. > > Regards > > > > 2013/2/26 Stadelmann Josef <josef.stadelm...@axa-winterthur.ch> > >> Hi Oscar**** >> >> what states the servers log if any created? **** >> >> you're saying that the second send() goes out, **** >> >> is it received at the servers end?**** >> >> is it received at the servers method end?**** >> >> if yes what does the method do with the second request? **** >> >> will it just return the payload as an echo too? **** >> >> In this case can you see the incoming second response as soap/xml data on >> the wire.**** >> >> ** ** >> >> Also for ease of use, unless really required, **** >> >> I would suggest to use TCP Monitor to watch the wire transfer. **** >> >> You can see much better the soap/xml traffic on the wire than with >> Wireshark.**** >> >> Nothing against Wireshark, both a very OK.**** >> >> Josef**** >> >> ** ** >> >> *Von:* Oscar Pernas [mailto:os...@pernas.es] >> *Gesendet:* Dienstag, 26. Februar 2013 12:54 >> *An:* c-user@axis.apache.org >> *Betreff:* send_receive blocking**** >> >> ** ** >> >> Hi all,**** >> >> ** ** >> >> Im using axis2c trunk version, over Windows 7, and I'm falling into a >> problem with axis2_svc_client_send_receive method.**** >> >> ** ** >> >> I have a class in c++ where I'm using axis2c api. I have a method init >> where I made all initializations, and a method run where I made the >> svc_client_create.**** >> >> ** ** >> >> The first time that I send a message, message is sent correctly and Iam >> receiving the response well. But the second time, petition is sent (I can >> see in wireshark) but I dont have any response (but is received because I >> see in wireshark), axiom node returned by send_receive is null.**** >> >> ** ** >> >> My code is:**** >> >> ** ** >> >> void send(){**** >> >> ** ** >> >> axiom_node_t* payload=buildWSMessage(env,message);**** >> >> if (payload){**** >> >> axiom_node_t* retNode=axis2_svc_client_send_receive(svc_client, env, >> payload);**** >> >> if (retNode){**** >> >> extractAndSend(retNode);**** >> >> }**** >> >> }**** >> >> }**** >> >> ** ** >> >> Im only calling init() and run() one time, and after that I am allways >> calling to this send method. What should I do if i want to use the previous >> method twice? shoud I have to free some structures of svc_client? any help >> would be appreciated!**** >> >> ** ** >> >> regards**** >> >> ** ** >> >> -- >> Óscar Pernas Plaza. **** >> > > > > -- > Óscar Pernas Plaza. > -- -- Mantaut Alex Intraway Corp. +54 (11) 6040-4000 MSN: alex.mant...@intraway.com Visit our website at http://www.intraway.com Proud to be an ISO 9001:2008 certified company