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.SubscribeOpD >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. > > >