[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to perform the following Request-Response Messaging
Juan Carlos Coruna wrote:
>
> > -----Mensaje original-----
> > De: owner-xmlblaster-devel at xmlBlaster.org
> > [mailto:owner-xmlblaster-devel at xmlBlaster.org]En nombre de Marcel Ruff
> > Enviado el: martes, 27 de marzo de 2001 21:54
> > Para: Juan Carlos Coruna; xmlblaster-devel
> > Asunto: Re: How to perform the following Request-Response Messaging
> >
> >
> > > Since I'm developing the zope product without callback
> > interface by now, I will try to use the get method, now. But I
> > can't see the sender in the qos tag. I suppose that the sender is
> > only in the Pub/sub pattern available.
> >
> > You are right, the qos was only delivered on update().
> >
> > I have added this support to returned messages
> > by get() in xmlBlaster:
> >
> > <qos>
> > <state>
> > OK
> > </state>
> > <sender>
> > Tim
> > </sender>
> > </qos>
> >
> > You can use the new client helper
> > xmlBlaster/src/java/org/xmlBlaster/client/GetQos.java
> > which parses this QoS for you.
> >
> >
> > Please get the newest patch with cvs and recompile
> > with
> > UNIX: build.sh all
> > WINDOWS: build.bat all
> >
> > You can test it (after starting xmlBlaster) with:
> >
> > java testsuite.org.xmlBlaster.TestGet -dump true
>
> Thanks, I will try it.
>
> >
> > >
> > > But, if I try to get the ERP response with the "get" method I
> > become error responses. How must be the qos and key tag?
> >
> > How are the errors?
> >
>
> Here are the messages I interchange and finally the error.
>
> Sending the request:
> content = <request sender='26451'>
> <question type='Product.Price'>
> GS-34M
> </question>
> </request>
>
> puboid: Navision.Request
>
> Receiving the request:
>
> get Request: [("<key oid='Navision.Request' contentMime='text/plain'>\012 \012</key>", "<request sender='26451'>\012 <question type='Product.Price'> \012 GS-34M\012 </question>\012</request>", '<qos></qos>')]
>
> Sending the response:
> content = 1900
>
> send Response: 192.168.10.1-7609-985765170357-1
> pubkey: <key oid='' contentMime='text/plain'></key>
> pubqos: <qos>
> <destination queryType='EXACT'>
> 26451
> <ForceQueuing />
> </destination>
> </qos>
>
> reiceiving the response:
>
> After login I invoke the method get with the following gatkey and getqos:
>
> getkey: <key oid=''></key>
> getqos: <qos></qos>
>
> And then it raises this error:
>
> xmlrpclib.Fault: <Fault 0: "java.lang.Exception: id=RequestBroker.UnavailableKey reason=The key '192.168.10.1-7609-985765170505-2' is not available.">
Ok, sending any requests with key oid='' (empty oid)
forces xmlBlaster to generate an arbitrary one.
You need to use this arbitrary key-oid to access messages,
or access the message with XPath on your own key meta tags.
Usually (the third solution)
you should in such a case use a well known oid like e.g.
<key oid='Navision.Response.26451' ...
which will be used by the server and the client '26451'
to communicate.
regards,
Marcel
--
Marcel Ruff
mailto:ruff at swand.lake.de
http://www.lake.de/home/lake/swand/
http://www.xmlBlaster.org