Title: RE: [Axis2] Asynchronous dual client

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/">
   <soapenv:Header>
      <wsa:To xmlns:wsa="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/eventing/Subscribe</wsa:Action>

      <wsa:ReplyTo xmlns:wsa="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">1129648347852</wsa:MessageID>
   </soapenv:Header>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


-----Mensaje original-----
De: Srinath Perera [mailto:[EMAIL PROTECTED]]
Enviado el: martes, 18 de octubre de 2005 14:49
Para: [email protected]
Asunto: Re: [Axis2] Asynchronous dual client


Ư 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 <[EMAIL PROTECTED]> 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.
> >
> >
> >
>
>

Reply via email to