axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eran Chinthaka <chinth...@opensource.lk>
Subject Re: [Axis2] Asynchronous dual client, Call sends 2 requests
Date Wed, 19 Oct 2005 16:05:51 GMT
hmm, if this is true, then I think this is a bug.

We'll check on this and let you know the status tomorrow for sure. Any
help you can give us to reproduce this is highly appreciated.



Villalba, Gregorio, VF-ES (gvillal2) EXT wrote:

>Hi,
> 
>My asynchronous dual "client" finally worked, but it fails sometimes (one time works and
the second execution does not close the connection of the HTTP request, when it is listening).

> 
>I am using Axis2 v0.92 with the bug fixes I asked for (thanks). The problem is that the
object "Call" sends 2 simultaneous "posts" to the WS every time the client wants to send a
request, I think it is a bug because I did not notice that in my old version (v0.9).
> 
>Thanks in advance.
>
>	-----Mensaje original-----
>	De: Eran Chinthaka [mailto:chinthaka@opensource.lk] 
>	Enviado el: miércoles, 19 de octubre de 2005 3:46
>	Para: axis-user@ws.apache.org
>	Asunto: Re: [Axis2] Asynchronous dual client
>	
>	
>	This was fixed yesterday. 
>	
>	
>	Villalba, Gregorio, VF-ES (gvillal2) EXT wrote: 
>
>		Hi again,
>		
>		I think I have found other problem, in the same scenario. When using "Call" with two
connections, (Axis generates the header and does not allow changes), the element MessageId
that is inserted is a number, and it should be an URI. 
>		I am using Axis2-0.9, maybe it works in other version. 
>		Anyone knows? Is it a bug?
>		
>		Thanks.
>		
>		
>		-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>		<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" <http://schemas.xmlsoap.org/soap/envelope/>
>
>		   <soapenv:Header>
>		      <wsa:To xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" <http://schemas.xmlsoap.org/ws/2004/08/addressing>
>http://localhost:8060</wsa:To>
>		      <wsa:Action xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" <http://schemas.xmlsoap.org/ws/2004/08/addressing>
>http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</wsa:Action>
>		      <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" <http://schemas.xmlsoap.org/ws/2004/08/addressing>
>
>		         <wsa:Address>http://127.0.0.1:6060/axis/services/EventSource/SubscribeOp</wsa:Address>
>		      </wsa:ReplyTo>
>		      <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
<http://schemas.xmlsoap.org/ws/2004/08/addressing> >1129648347852</wsa:MessageID>
>		   </soapenv:Header>
>		-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>		
>		
>		-----Mensaje original-----
>		De: Srinath Perera [mailto:hemapani@gmail.com] 
>		Enviado el: martes, 18 de octubre de 2005 14:49
>		Para: axis-user@ws.apache.org
>		Asunto: Re: [Axis2] Asynchronous dual client
>		
>		
>		+1 Eran is 100% right. this is not a bug. If you choose the In-Out mep
>		that means you hand over the control to Axis2. So you can not set the Adressing Headers.
(Becouse Axis2 will set up a listener fo you and waiting for reply).
>		
>		If you need to contol addressing use In-Only MEP.
>		
>		Let us close the bug
>		For more info read the "In-Only MEP Support: InOnlyMEPClient" part of article http://www.onjava.com/pub/a/onjava/2005/07/27/axis2.html
>		
>		Srinath
>		
>		On 10/18/05, Eran Chinthaka <chinthaka@opensource.lk> <mailto:chinthaka@opensource.lk>
 wrote:
>		  
>
>			Villalba, Gregorio, VF-ES (gvillal2) EXT wrote:
>			
>			    
>
>				Hi,
>				
>				I am developing a WS client with Axis2 code generator.
>				I want to use dual transport,  I engage the Addressing module and I 
>				configure the transport as dual but I can not change the ReplayTo 
>				element (that automatically appears like localhost)!!!!! It can not 
>				be changed with messageContext.setReplyTo(aERPReplayTo).
>				
>				Any idea?
>				
>				
>				      
>
>			hmm, seems like you are violating the MEP concept here.
>			
>			Using Call means you are invoking an IN-OUT service. So when you send 
>			a message using Call api, the reply MUST come back to the same Call. 
>			That means you are not allowed to mess around with the replyTo. The 
>			engine will set a dynamic replyTo address for you, which then starts 
>			up a listener with the given transport, and listens to a message.
>			
>			If you are allowed to set the replyTo, you could have set that to some 
>			other EPR, and the Call which u used to invoke the service will 
>			timeout. Thats why you are not allowed to set replyTo information. So 
>			actually what you need to do is, invoke your IN-OUT web service using 
>			IN-Only manner and set the replyTo address to wherever you want. That 
>			means you basically have one client who thinks that this is an IN-Only 
>			invocation and for another client who thinks that it is an OUT only 
>			service.
>			
>			So this voids Axis2-284. So please close that issue too.
>			
>			HTH.
>			
>			-- Chinthaka
>			
>			    
>
>				Thanks in advance.
>				
>				
>				That is the code:
>				
>				
>				       org.apache.axis2.context.MessageContext messageContext = 
>				getMessageContext();
>				
>				       Call call = new Call(_serviceContext);
>				
>				       call.setTo(this.toEPR);
>				
>				       call.engageModule(new QName(Constants.MODULE_ADDRESSING));
>				
>				       boolean DUAL_TRANSPORT = true;
>				       call.setTransportInfo(Constants.TRANSPORT_HTTP,
>				Constants.TRANSPORT_HTTP,true);
>				
>				       call.setWsaAction(myProp.getProperty("subscribe.action"));
>				       call.setSoapAction(myProp.getProperty("subscribe.action"));
>				       org.apache.axis2.soap.SOAPEnvelope env = createEnvelope();
>				                   //Style is Doc
>				
>				setValueDoc(env,com.vodafone.jaw.ws.eventsource.databinding.Subscribe
>				OpD
>				atabindingSupporter.toOM(body));
>				
>				       EndpointReference aERPReplayTo = new 
>				EndpointReference(AddressingConstants.WSA_REPLY_TO,myProp.getProperty
>				("s
>				ubscribe.replayto"));
>				       messageContext.setReplyTo(aERPReplayTo);
>				
>				messageContext.setMessageID(myProp.getProperty("msg_id_template") + 
>				new VMID().toString());
>				       messageContext.setEnvelope(env);
>				
>				       call.invokeNonBlocking(operations[0], messageContext, 
>				callback);
>				
>				
>				
>				Confidencialidad
>				Este correo electrónico y, en su caso, cualquier fichero anexo al 
>				mismo, contiene información de carácter confidencial exclusivamente 
>				dirigida a su destinatario o destinatarios y propiedad de Vodafone 
>				España. Queda prohibida su divulgación, copia o distribución a 
>				terceros sin la previa autorización escrita de Vodafone España, en 
>				virtud de la legislación vigente. En el caso de haber recibido este 
>				correo electrónico por error, se ruega notificar inmediatamente esta 
>				circunstancia mediante reenvío a la dirección electrónica del 
>				remitente y la destrucción del mismo.
>				
>				Confidentiality
>				The information in this e-mail and in any attachments is classified 
>				as Vodafone España Confidential and Proprietary Information and 
>				solely for the attention and use of the named addressee(s). You are 
>				hereby notified that any dissemination, distribution or copy of this 
>				communication is prohibited without the prior written consent of 
>				Vodafone España and is s strictly prohibited by law. If you have 
>				received this communication in error, please, notify the sender by 
>				reply e-mail.
>				
>				
>				
>				      
>
>			    
>
>		
>		  
>
>Confidencialidad 
>Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, contiene información
de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios y propiedad
de Vodafone España. Queda prohibida su divulgación, copia o distribución a terceros sin
la previa autorización escrita de Vodafone España, en virtud de la legislación vigente.
En el caso de haber recibido este correo electrónico por error, se ruega notificar inmediatamente
esta circunstancia mediante reenvío a la dirección electrónica del remitente y la destrucción
del mismo.
>
>Confidentiality 
>The information in this e-mail and in any attachments is classified as Vodafone España
Confidential and Proprietary Information and solely for the attention and use of the named
addressee(s). You are hereby notified that any dissemination, distribution or copy of this
communication is prohibited without the prior written consent of Vodafone España and is s
strictly prohibited by law. If you have received this communication in error, please, notify
the sender by reply e-mail.
>
>  
>


Mime
View raw message