[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