Muse's data transport is done thru HTTP.  So a non-web app can send data
to Muse as long as it has APIs for sending over HTTP.  But, it won't
work in the opposite way because Muse (or any other normal web app) can
only send back data if your app has a URL and can receive data over
HTTP.

What you will have to do is add a consumer resource to Muse.  Then
attach a capability class to that resource, and add your code in there
to forward the data to your non-web app in whatever manner you choose,
if not over HTTP.  In order to forward Java Objects, you most likely
will have to serialize them from the server, and deserialize on the
client.  By default, Muse can serialize to XML format.


-----Original Message-----
From: Callner, David A. [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 14, 2007 10:00 AM
To: [email protected]
Subject: RE: wsn-producer/consumer example

No I do not want to write any HTTP server myself.  I want to take the
received SOAP messages from the consumer web service convert those into
Java Objects and forward them to my non webapp.  I can just create a
socket and send it that way I was just hoping that maybe I could just
use the MUSE API to do this since I can set up services from a non
webapp.  

-----Original Message-----
From: Daniel Jemiolo [mailto:[EMAIL PROTECTED]
Sent: Wednesday, February 14, 2007 12:57 PM
To: [email protected]
Subject: RE: wsn-producer/consumer example

I don't see how you would receive the messages on a non-web app...
unless
you're writing your own little server and parsing the HTTP yourself. If

that's the case, I'd advise you to rethink it - you can either use OSGi

for your app (the -osgi flag in wsdl2java) or use embedded Tomcat to
host the app (~5MB). Writing a decent HTTP server for one known client
is easy
- writing a robust HTTP server is quite hard.

Dan



"Callner, David A." <[EMAIL PROTECTED]> wrote on 02/14/2007 12:42:53
PM:

> See below <DAC>
> 
> -----Original Message-----
> From: Daniel Jemiolo [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, February 14, 2007 12:31 PM
> To: [email protected]
> Subject: RE: wsn-producer/consumer example
> 
> The WsnTestClient should not be necessary in your real world scenario
-
> 
> it's just a driver to get the sample going. In your situation, you
can 
> just have the consumer resource subscribe to the producer itself -
the 
> code to do that would be very similar to what's in WsnTestClient (the 
> use of NotificationProducerClient), but you would package it in your 
> consumer resource instead of a command line app. You could perform the

> subscription work in the initialize() method of one of your 
> capabilities on the consumer side.
> 
> Alternatively, in a more complex scenario, you might have an 
> "orchestrator" service that is subscribing all of the consumers to
the 
> events they need to handle. This scenario would be a lot like the 
> sample in that a third service would call subscribe() and tell the 
> producer which consumer resource to send the messages to. This is just

> like the WsnTestClient app, except it would probably be a web service 
> as well.
> 
> If you want to forward messages received by one consumer to another 
> consumer(s), like a broker would, you just have to use the 
> NotificationMessageListener API - you can implement a listener that 
> listens for all notifications and then uses
NotificationConsumerClient
> to
> forward the messages to other resources.
> 
> <DAC> Can I have a broker service that would subscribe (NON 
> WEB)consumer's.
>   I want to have a consumer web service that just forwards messages 
> from the webapp
>  (broker) to nonwebapp (consumers).  Can I do this with the 
> NotificationMessageListener and NotificationConsumerClient or do I 
> need to use another means to
forward
> messages from a webapp to a
> Non webapp.  I ask because I'm able to connect two webservices
together
> from a non webapp.  Thanks again for
> all you help. 
> 
> Dan
> 
> 
> 
> "Callner, David A." <[EMAIL PROTECTED]> wrote on 02/13/2007 09:36:37
> AM:
> 
> > Ok thanks.  Let's say for instance that I have two different types
of
> > clients.  One type of clients that are within the same firewall as
my
> > web server and are on the same network.  The other is a client that
> is
> > outside the firewall and not on the same network.  I can see that
the
> > later would need a consumer web service running and the incoming 
> > requests would have to be forwarded to the user of the consumer web 
> > service.
> > 
> > First question, when I use the API's to create the subscription
> between
> > the publisher and consumer are there methods I can call that would 
> > subscribe from the consumer to the (WsnTestClient) a forwarded
> message
> > or is this something I have to do manually i.e create a socket from
> the
> > consumer to the WsnTestClient or is this already built into
> MUSE/AXIS?
> > 
> > 
> > Second question, when I am within the same network is there a way
for
> > me to set up a publisher/consumer without creating a consumer web 
> > service or is this not what is intended with MUSE and I would still 
> > need a consumer web server and some mechanism to forward messages
> from
> > the consumer web service to the (WsnTestClient).
> > 
> > Thanks again for all your answers and help!!
> > 
> > 
> > -----Original Message-----
> > From: Vinh Nguyen (vinguye2) [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, February 07, 2007 1:04 PM
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > Each resource must be a web service resource with a URI address
that
> > identifies its location.  So your consumer cannot be a java program 
> > sitting outside of a webserver environment.  What you can do is
have
> a
> > consumer resource which routes calls to your java program.
> > 
> > 
> > -----Original Message-----
> > From: Callner, David A. [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, February 07, 2007 7:21 AM
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > Makes sense.  I would like to set up a publisher / consumer service 
> > were the publish is a web service and the consumer is java program 
> > (no web server running).  Is this possible?
> > 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, February 07, 2007 10:17 AM
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > I'm not really sure, if I understand your initial question, so I'll
> try
> > to explain it based on the assumption, that it's unclear why you
need
> > to
> > deploy 2 servlets to make the sample work.
> > 
> > 
> > For the producer/consumer example, they're mimicking a service
> > (producer) on a separate machine, which will inform the client
> machine
> > (consumer) about changes in its state via a WSDM SOAP message. 
> > The WsnTestClient-file is just setting up the subscription between
> the
> > producer/consumer via the SubscriptionManager.
> > The actual consumer is the
ConsumerCapability/ConsumerCapabilityImpl.
> > 
> > As for the error you're getting, I'm not sure if you deployed both
> the
> > producer/consumer wars given the earlier assumption I made. But it 
> > seems that your WsnTestClient is trying to subscribe to your 
> > producer
> service
> > and getting denied as the service is not available at the specified 
> > location (according to the WsnTestClient.java property and the
> involved
> > WSDL-files).
> > 
> > I don't have a clue yet about the error from you Tomcat log files.
> > 
> > 
> > Not really sure if this made any sense.
> > 
> > -----Original Message-----
> > From: Callner, David A. [mailto:[EMAIL PROTECTED]
> > Sent: 07 February 2007 13:43
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > I'm using the official release and have performed step 2 and here
are
> > the errors I'm getting.  Also could someone explain to me why I
need
> to
> > run to web servlets (Wsn-Producer) and (Wsn-Consumer).  The 
> > WsnTestClient should be the "Consumer".
> > 
> > In my tomcat5 log file: 
> > 
> >  2007-02-07 08:34:31 StandardWrapperValve[ApacheMuseServlet]:
> > Servlet.service() for servlet ApacheMuseServlet threw exception
> > java.lang.NoSuchMethodError: javax.xml.namespace.QName: method 
> > <init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V not 
> > found
> >    at
> >
>
org.apache.muse.ws.addressing.soap.SoapConstants.<clinit>(SoapConstants
> > .java:46)
> >    at
> >
>
org.apache.muse.ws.addressing.soap.SoapFault.<init>(SoapFault.java:40)
> >    at
> >
>
org.apache.muse.ws.addressing.soap.SoapUtils.convertToFault(SoapUtils.j
> > ava:32)
> >    at
> >
>
org.apache.muse.core.platform.AbstractIsolationLayer.initialize(Abstrac
> > tIsolationLayer.java:183)
> >    at
> >
>
org.apache.muse.core.platform.mini.MiniServlet.createIsolationLayer(Min
> > iServlet.java:36)
> >    at
> >
>
org.apache.muse.core.platform.mini.MiniServlet.doPost(MiniServlet.java:
> > 50)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> >    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> >    at
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> > ationFilterChain.java:237)
> >    at
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> > terChain.java:157)
> >    at
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> > ve.java:214)
> >    at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
> > ontext.java:104)
> >    at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> > 520)
> >    at
> >
>
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCo
> > ntextValve.java:198)
> >    at
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> > ve.java:152)
> >    at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
> > ontext.java:104)
> >    at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> > 520)
> >    at
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> > a:137)
> >    at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
> > ontext.java:104)
> >    at
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
> > a:118)
> >    at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
> > ontext.java:102)
> >    at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> > 520)
> >    at
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> > .java:109)
> >    at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
> > ontext.java:104)
> >    at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> > 520)
> >    at
> >
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> >    at
> >
>
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> >    at
> >
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:7
> > 99)
> >    at
> >
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
> > Connection(Http11Protocol.java:705)
> >    at
> >
>
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5
> > 77)
> >    at
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
> > l.java:683)
> >    at java.lang.Thread.run(Thread.java:570)
> > 
> > 
> > Output from WsnTestClient:
> > 
> > CLIENT TRACE] SOAP envelope contents (outgoing):
> > 
> > <soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
> >     <soap:Header>
> >         <wsa:To
> >
>
xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://128.29.35.11:80
> > 80/wsn-producer/services/WsResource</wsa:To>
> >         <wsa:Action
> >
>
xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://docs.oasis-open
> > .org/wsn/bw-2/NotificationProducer/SubscribeRequest</wsa:Action>
> >         <wsa:MessageID
> >
>
xmlns:wsa="http://www.w3.org/2005/08/addressing";>uuid:1c80b0af-b583-736
> > f-066b-ff60b581802c</wsa:MessageID>
> >         <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing";>
> > 
> >
>
<wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:A
> > ddress>
> >         </wsa:From>
> >     </soap:Header>
> >     <soap:Body>
> >         <wsnt:Subscribe
> > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2";>
> >             <wsnt:ConsumerReference>
> >                 <wsa:Address
> >
>
xmlns:wsa="http://www.w3.org/2005/08/addressing";>http://128.29.35.11:80
> > 80/wsn-consumer/services/consumer</wsa:Address>
> >             </wsnt:ConsumerReference>
> >         </wsnt:Subscribe>
> >     </soap:Body>
> > </soap:Envelope>
> > 
> > org.apache.muse.ws.addressing.soap.SoapFault: Server returned HTTP 
> > response code: 500 for URL:
> > http://128.29.35.11:8080/wsn-producer/services/WsResource
> >         at
> >
>
org.apache.muse.core.AbstractResourceClient.invoke(AbstractResourceClie
> > nt.java:279)
> >         at
> >
>
org.apache.muse.core.AbstractResourceClient.invoke(AbstractResourceClie
> > nt.java:235)
> >         at
> >
>
org.apache.muse.ws.notification.remote.NotificationProducerClient.subsc
> > ribe(NotificationProducerClient.java:96)
> >         at org.apache.muse.test.wsn.WsnTestClient.main(Unknown
> Source)
> > 
> > -----Original Message-----
> > From: Rosberg Mattias [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, February 06, 2007 4:14 AM
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > Thank you for your support. I downloaded the nightly build and ran 
> > update_install.bat. The wsn-producer/consumer example worked at
once.
> > 
> > /Mattias
> > 
> > 
> > -----Original Message-----
> > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED]
> > Sent: Mon 2/5/2007 3:18 PM
> > To: [email protected]
> > Subject: RE: wsn-producer/consumer example
> > 
> > Good catch on the port number - make sure the port you're using for 
> > Tomcat uses the one that's specified in the WsnTestClient.java
> client.
> > The port is part of the wsa:Address in the producer and consumer
> EPRs,
> > so if it's wrong, you need to change it (you can do this on the
> command
> > line or by
> > 
> > modifying the test client code).
> > 
> > I'd also advise against building the source and trying to add the 
> > latest bits incrementally - if you want to do a full build, follow 
> > the instructions on:
> > 
> >         http://ws.apache.org/muse/source-code.html
> > 
> > If you want the latest nightly build, you can get it here:
> > 
> >         http://ws.apache.org/muse/nightly/latest
> > 
> > Of course, except for the "step 2" that was added, neither of those 
> > samples has changed in quite a while. You should be able to get
them
> > working by taking the official release and performing step 2 - let
me
> > know if the port number issue was indeed the problem.
> > 
> > Dan
> > 
> > 
> > 
> > <[EMAIL PROTECTED]> wrote on 02/05/2007 08:48:58 AM:
> > 
> > > I'm not sure why you would want to make the whole thing that 
> > > complicated.
> > > I seem to have no problem getting the producer/consumer example
to
> > work
> > > with these simple steps.
> > > 
> > > 1) Download the nightly build (with the latest bug fixes) from 
> > > http://ws.apache.org/muse/nightly/latest/bin/
> > > 
> > > 2) Run update-install
> > > 
> > > 3) Double-check the WsResourcePort in the WsResource.wsdl
> > (wsn-producer)
> > > and the WsnTestClient portType properties (producer_port &
> > > consumer_port) are pointing to the right serviceport (according
to
> > your
> > > Tomcat specs).
> > > 
> > > 4) Use the ant build file to build both project-wars
> > > 
> > > 5) Deploy and enjoy
> > > 
> > > But that said did you have a look in the wsn-consumer
> > WsnTestClient.java
> > > and the wsn-producer WsREsource.wsdl to see if the portTypes
match
> > your
> > > Tomcat setup? To me it sounds like it's looking for a consumer
> that's
> > 
> > > not listening on the given port. I could be wrong.
> > > 
> > > I know the portTypes have been a cause of some of my problems in
> the
> > > past.
> > > 
> > > /Lenni
> > > 
> > > -----Original Message-----
> > > From: Rosberg Mattias [mailto:[EMAIL PROTECTED]
> > > Sent: 05 February 2007 12:59
> > > To: [email protected]
> > > Subject: RE: wsn-producer/consumer example
> > > 
> > > If you follow the instructions for "Eclipse Development"
described
> > here
> > > 
> > > http://ws.apache.org/muse/source-code.html
> > > 
> > > you get a separate project in Eclipse for every muse jar-file.
You
> > can
> > > then export each project as a jar-file and replace the ones found
> in
> > > your MUSE_HOME/modules subdirectories. This way you get the
latest 
> > > bugfixes and updates.
> > > 
> > > -----Original Message-----
> > > From: Callner, David A. [mailto:[EMAIL PROTECTED]
> > > Sent: Mon 2/5/2007 1:45 PM
> > > To: [email protected]
> > > Subject: RE: wsn-producer/consumer example
> > > 
> > > You seemed to get farther than I did with the example.  I been
able
> > to
> > > find on the internet that you need to add (#2) below, but your
#3.
> > > Created new snapshot from SVN.  Could you explain? 
> > > 
> > > -----Original Message-----
> > > From: Rosberg Mattias [mailto:[EMAIL PROTECTED]
> > > Sent: Monday, February 05, 2007 2:40 AM
> > > To: [email protected]
> > > Subject: wsn-producer/consumer example
> > > 
> > > I have tried to get the wsn-producer/consumer sample to work
> without
> > > success. I have done the following:
> > > 
> > > 1. Downloaded 2.1.0 distribution and ran update_install.
> > > 
> > > 2. Added row <resource-type use-router-persistence="true"> in 
> > > wsn-consumer muse.xml
> > > 
> > > 3. Created new muse.xxx-snapshot-2.2.0.jars from SVN. Replaced
old
> > > (2.1.0) jars in modules folders with snapshot 2.2.0 jars.
> > > 
> > > 4. Rebuild wars for wsn-consumer and wsn-producer.
> > > 
> > > 5. Deploy wars on Tomcat without any error messages. Run
> > WsnTestClient
> > > 
> > > I still get the following error:
> > > 
> > > INFO: [ID = 'LastPublishFailed'] The last notification published
> via
> > > wsnt:Notify  failed to reach its destination. The consumer may be

> > > unavailable.
> > The
> > > original
> > > error was: null
> > > 2007-feb-05 08:17:37
> org.apache.ws.muse.test.wsrf.MyCapabilityImpl$1
> > > run
> > > INFO: Waiting 10 seconds before sending message...
> > > 
> > > Any ideas?
> > > 
> > > /Mattias
> > > 
> > > 
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > > 
> > > 
> > > 
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to