Vinh, No I believe I understand the example. I've also created a service that's from the model of the producer/consumer, but one of the big problems is that it's not clean. What I want is a way to deploy a producer web service and I want clients on the internet to be able to download the wsdl for my producer web service and use the Muse's wsdl2java.sh tool to generate code to communicate with my producer much in the same way Axis2 works. I cannot deploy a web service and expect clients to go off and create consumers from a wsn-consumer example which is the only way I've figured out how to get this to work. So what I'm doing is trying to figure out how to generate a Consumer from a WSDL File so that I can find a clean way to deploy my producer service and be relatively sure that clients will be able to generate consumer code and connect to me without any issues. Thanks.
-----Original Message----- From: Vinh Nguyen (vinguye2) [mailto:[EMAIL PROTECTED] Sent: Friday, March 23, 2007 3:08 PM To: [email protected] Subject: RE: Publisher Consumer Ok, correct me if I'm wrong...I think what you're really asking is how does the wsn-consumer and wsn-producer examples work? The wsn-producer sample has a custom WsResource.wsdl for the producer, but the wsn-consumer sample has no custom wsdl for the consumer. The reason why the consumer currently doesn't have a custom wsdl is because it doesn't need one. It inherits directly from WS-BaseNotification-1_3.wsdl. If you study the wsn-consumer example, the key files are: muse.xml WsnTestClient.java ConsumerCapabilityImpl.java In muse.xml, there is a "consumer" resource that uses the WS-BaseNotification-1_3.wsdl. The resource has one custom capability, which is the ConsumerCapabilityImpl class. The ConsumerCapabilityImpl just prints the notification messages to the log files so you know what it receives. WsnTestClient.java is a remote client that connects to the producer resource, and registers the consumer resource to it for notifications. Basically, the WsnTestClient acts as an intermediate "service" that registers consumers to producers. In your case, you will not need WsnTestClient. Your resources will connect directly to the producer and register themselves as consumers, in a similar way to what WsnTestClient is doing. -----Original Message----- From: Callner, David A. [mailto:[EMAIL PROTECTED] Sent: Friday, March 23, 2007 10:37 AM To: [email protected] Subject: RE: Publisher Consumer The following wsdl throws the exception below. I've tried it this way before and got the exception below then I tried adding a ServiceName, etc and I would get another exception. What do I need to have a Consumer??? <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://localhost.mitre.org/track-consumer" xmlns:tns="http://localhost.mitre.org/track-consumer" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl-soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2" name="Consumer"> <wsdl:types> <xsd:schema elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wsn/b-2"> <xsd:include schemaLocation="WS-BaseNotification-1_3.xsd" /> </xsd:schema> </wsdl:types> <!-- ========== NotificationProducer::GetCurrentMessage =========== GetCurrentMessage(topicExpression) returns: a NotificationMessage (xsd:any) --> <wsdl:message name="Notify"> <wsdl:part name="Notify" element="wsnt:Notify"/> </wsdl:message> <wsdl:portType name="NotificationConsumer"> <wsdl:operation name="Notify"> <wsdl:input wsa:Action="http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/No tifyRequest" message="wsntw:Notify" /> </wsdl:operation> </wsdl:portType> </wsdl:definitions> java.lang.RuntimeException: [ID = 'OneServicePerWSDL'] The resource inspector can only process WSDLs with one service element. at org.apache.muse.tools.inspector.ResourceInspector.getPortType(ResourceI nspector.java:619) at org.apache.muse.tools.inspector.ResourceInspector.run(ResourceInspector .java:839) at org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.inspect(SimpleA nalyzer.java:392) at org.apache.muse.tools.generator.analyzer.SimpleAnalyzer.analyze(SimpleA nalyzer.java:338) at org.apache.muse.tools.generator.Wsdl2Java.run(Wsdl2Java.java:143) at org.apache.muse.tools.generator.Wsdl2Java.main(Wsdl2Java.java:260) SEVERE: [ID = 'CodeGenFailed'] Code generation failed, see the exception information below. An exception was caught: [ID = 'OneServicePerWSDL'] The resource inspector can only process WSDLs with one service element. -----Original Message----- From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] Sent: Friday, March 23, 2007 11:41 AM To: [email protected] Subject: RE: Publisher Consumer The WSDL fragment below represents all of the code you need to provide for WSN Notify, save for the WSDL <binding/>. It's the same XML from WS-BaseNotification-1_3.wsdl, which is used in the wsn-consumer project. <wsdl:types> <xsd:schema> <xsd:import namespace="http://docs.oasis-open.org/wsn/b-2" schemaLocation="WS-BaseNotification-1_3.xsd"/> </xsd:schema> </wsdl:types> <wsdl:message name="Notify"> <wsdl:part name="Notify" element="wsnt:Notify"/> </wsdl:message> <wsdl:portType name="NotificationConsumer"> <wsdl:operation name="Notify"> <wsdl:input wsa:Action="http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/No tifyRequest" message="wsntw:Notify" /> </wsdl:operation> </wsdl:portType> "Callner, David A." <[EMAIL PROTECTED]> wrote on 03/23/2007 11:03:44 AM: > Dan, > If you could just give me the wsdl you used to create the wsn-consumer > I should be able to figure it out from there. Why isn't that > distributed in the examples? > > -----Original Message----- > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] > Sent: Friday, March 23, 2007 11:00 AM > To: [email protected] > Subject: RE: Publisher Consumer > > Your attachments didn't come through - can create a JIRA item and > attach the files there? > > Thanks, > Dan > > > > "Callner, David A." <[EMAIL PROTECTED]> wrote on 03/23/2007 10:37:25 > AM: > > > This doesn't seem to work for me. I've attached my files. I've > > stripped them down to just have the Notify Consumer info that you > > describe below but when I can get it to create the code it only > creates > > code like that of the producer. > > > > -----Original Message----- > > From: Daniel Jemiolo [mailto:[EMAIL PROTECTED] > > Sent: Thursday, March 22, 2007 10:20 AM > > To: [email protected] > > Subject: Re: Publisher Consumer > > > > The wsn-consumer resource uses the NotificationConsumer portType in > > WS-BaseNotification-1_3.wsdl file - this is mapped in muse.xml, under > > the > > <resource-type><wsdl> element. The sample has nothing but WSN > > NotificationConsumer in its interface. > > > > All you need to do to add NotiifcationConsumer to your app is to add > > the > > contents of NotificationConsumer portType (which is just the Notify > > operation) to your own WSDL's portType. Be sure to include the > > <message/> and XSD definition for Notify, just as > > WS-BaseNotification-1_3.wsdl does. > > When you run wsdl2java, it will notice the WSN Notify operation and > add > > > > Muse's NOtificationConsumer capabilty to your resource definition. > > > > Dan > > > > > > > > "Callner, David A." <[EMAIL PROTECTED]> wrote on 03/22/2007 07:45:59 > > AM: > > > > > There is an example of the wsn-producer and wsn-consumer. I want > to > > > deploy a web service that is a producer and I want clients to be > able > > > to create wsn-consumer's on there own. Could somebody explain to > me > > > how the wsn-consumer was created? The wsdl for the wsn-producer > does > > > not show in a browser and I see no way to generate the code from > the > > > wsdl from the wsn-producer. I can generate the code for the > > > wsn-producer from the wsdl, but how does one create a consumer. Is > > > everybody expected to start with a wsn-consumer and hack up there > own > > > wsn-consumers? This obviously can't be the case but I see no other > > > way. > > > > > > Thanks for your help. > > > > > > David Callner > > > Senior Software Systems Engineer > > > The MITRE Corporation > > > Center for Advanced Aviation System Development > > > 7515 Colshire Dr. > > > McLean, VA. 22102 > > > [EMAIL PROTECTED] > > > 703.983.6431 (work) > > > > > > > > > > --------------------------------------------------------------------- > > > 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]
