The problem is that WSResourceProxy extends NotificationProducerClient
but WSResource interface does not extends anything. The tutorial says
something like this:
....................
MyService proxy = new MyServiceProxy(epr);
....................
proxy.setTrace(true);
....................
proxy.subscribe(consumer, null, null);
.....................
So changing MyService to WsResource it fails because WsResource
interface does not have either setTrace or subscribe operations (sorry
about the publish mistake, I was refering to subscribe).
It works declaring proxy as WsResourceProxy instead of WsResource. I
don't know if the tutorial is mistaken or if WsResource must extend
some other interface.
Anyway, the merged wsdl file present in the deployment still imports
WS-BaseNotification-1_3.wsdl but that file is not included
automatically in the generated war file and has to be added by hand. I
have copied all of the files that were imported in the original wsdl
file, so I don't know if the imports of WS-BaseNotification-1_3.wsdl
may be a problem.
Once this is done, it still fails with:
org.apache.muse.ws.addressing.soap.SoapFault: [ID =
'NoSubscriptionManager'] There is no resource that implements the WS-N
SubscriptionManager portType defined in muse.xml. In order to use and
manage subscriptions, an endpoint must expose a resource with a
capability of 'http://docs.oasis-open.org/wsn/bw-2/SubscriptionManager';
this resource will represent all new subscriptions created by the
resource.
I haven't seen in the tutorial that adding the SubscriptionManager
capability by hand was necessary.
On 9/22/06, Daniel Jemiolo <[EMAIL PROTECTED]> wrote:
There shouldn't be a publish() method on the producer *client* - a client
can't publish methods on behalf of a resource. From within your
server-side code, you can publish messages using the NotificationProducer
capability. This is covered in one of the "how-to" articles in the
reference manual - from /docs/index.html, go to Documentation -> Reference
Manual and look under the "How To..." section.
Additionally, if you take a look at the client code, you'll see that it
extends NotificationProducerClient and adds the getter/setter methods for
manipulating the resource properties described in the WSDL. The
NotificationProducerClient class includes the WSN operations
(subscribe/getCurrentMessage) and includes other basic client methods like
setTrace(). If your IDE has context-assist/intellisense, you can see the
methods available from the base client classes; if you're using a text
editor, check out the JavaDoc for:
org.apache.muse.ws.notification.remote.NotificationProducerClient
Dan
"José Antonio Sánchez" <[EMAIL PROTECTED]> wrote on 09/22/2006 12:04:51
PM:
> Hello, I'm testing MUSE 2 and I'm following the tutorial to learn how it
works.
> I have used the sample-wsn-producer.wsdl file to generate the service
> and the proxy but in the generated WSResource interface I get only
> operations to insert, update and delete resource properties, but not
> operations like publish. Also, there is no setTrace method.
>
> --
> Saludos.
> José Antonio Sánchez
>
> ---------------------------------------------------------------------
> 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]
--
Saludos.
José Antonio Sánchez
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]