The example I thought worked didn't. When I view the catalina.out file the wsn-consumer does not receive publish updates, it seems to subscribe correctly. A JavaClassNotFound exception is thrown when trying to access ConsumerCapabilityImpl.class. Everything seems to be deployed correctly. I'm using Tomcat5. Anyone have any ideas?
-----Original Message----- From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 14, 2007 1:08 PM To: [email protected] Subject: RE: wsn-producer/consumer example from within the NotificationMessageListener API, you'll get a NotificationMessage object(s) representing the message. The NotificationMessage will have getter methods for things like the producer EPR, topic, etc. It also has the XML payload, which is custom to your scenario. If you are using WSDM's WEF for formatting your events, you can convert the payload XML into a ManagementEvent object like so: public void process(NotificationMessage msg) { WefFactory factory = new SimpleWefFactory(); Iterator i = msg.getMessageContent().iterator(); while (i.hasNext()) { Element eventXML = (Element)i.next(); ManagementEvent event = factory.createEvent(eventXML); // use getters to process event data } } "Callner, David A." <[EMAIL PROTECTED]> wrote on 02/14/2007 12:59:44 PM: > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
