Jose has it right - if you subscribe() to the producer resource, it will 
create an instance of the SubscriptionManager resource and return the EPR 
for that resource. The SubscriptionManager resources represent the 
already-created subscriptions, you cannot subscribe() with them. Of 
course, when you want to end the subscription, *then* you will send a 
message to the SubscriptionManager resource (WS-RL Destroy). WS-N's 
pub-sub model can be a bit confusing that way.

Dan


"José Antonio Sánchez" <[EMAIL PROTECTED]> wrote on 11/22/2006 12:32:27 
PM:

> You cannot subscribe to the subscription manager because it's not a
> Notification Producer resource. You have to subscribe to your own
> custom service, so that message needs to be sent to your service's
> endpoint, not the subscription manager's endpoint.
> 
> On 11/22/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> >
> > While making an attempt at making a custom WSDM service, I ran into a 
> problem with the SubscriptionManager (after adding the needed lines to 
the muse.xml):
> >
> > *** call ***
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >    <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:
> //localhost:8080/mwsng/services/SubscriptionManager</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:d3d21998-6468-b4bb-7952-41a330fa34d4</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:Address>
> >          </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://localhost:8080/wsn-consumer/services/consumer</wsa:Address>
> >             </wsnt:ConsumerReference>
> >          </wsnt:Subscribe>
> >       </soap:Body>
> >    </soap:Envelope>
> >
> > *** response ***
> > <?xml version='1.0' encoding='UTF-8'?>
> >    <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing"; 
xmlns:soapenv="
> http://www.w3.org/2003/05/soap-envelope";>
> >       <soapenv:Header>
> > <wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
> >          <wsa:ReplyTo>
> > <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
> >          </wsa:ReplyTo>
> > 
<wsa:MessageID>urn:uuid:BC2DF2D9F9D97EE7ED116421532103091</wsa:MessageID>
> >          <wsa:Action>http://docs.oasis-open.
> org/wsn/bw-2/NotificationProducer/SubscribeRequest</wsa:Action>
> >          <wsa:RelatesTo wsa:RelationshipType="http://www.w3.
> 
org/2005/08/addressing/reply">uuid:d3d21998-6468-b4bb-7952-41a330fa34d4</wsa:RelatesTo>
> >       </soapenv:Header>
> >       <soapenv:Body>
> >          <soap:Fault xmlns:tns="http://ws.apache.org/axis2"; 
xmlns:soap="
> http://www.w3.org/2003/05/soap-envelope";>
> >             <soap:Code>
> >                <soap:Value>soap:Receiver</soap:Value>
> >             </soap:Code>
> >             <soap:Reason>
> >                <soap:Text>[ID = 'ActionNotSupported'] The resource at 
> 'SubscriptionManager' does not expose an operation with the WS-Action 
'http:
> //docs.oasis-open.org/wsn/bw-2/NotificationProducer/SubscribeRequest' 
through 
> any of its capabilities.</soap:Text>
> >             </soap:Reason>
> >          </soap:Fault>
> >       </soapenv:Body>
> >    </soapenv:Envelope>
> >
> > *** ***
> >
> > I've made sure to add all the requested .wsdl and .xsd files from the 
wsn-
> producer, I should note though that the client is created with the 
-proxy 
> option in wsdl2java, not sure if that has any issues with the Subscribe 
function.
> >
> > -----Original Message-----
> > From: José Antonio Sánchez [mailto:[EMAIL PROTECTED]
> > Sent: 15 November 2006 16:04
> > To: [email protected]
> > Subject: Re: Notification producer problems.
> >
> > I was just sending my second message when saw your response.
> > Thanks, you're fast!
> >
> > On 11/15/06, Daniel Jemiolo <[EMAIL PROTECTED]> wrote:
> > > You forgot to add the namespace declaration for 'wsntw' in your 
muse.xml
> > > file. You are using this prefix on this line:
> > >
> > >         <wsdl-port-type>wsntw:SubscriptionManager</wsdl-port-type>
> > >
> > > so make sure that you have this in your muse.xml file:
> > >
> > >         xmlns:wsntw="http://docs.oasis-open.org/wsn/bw-2";
> > >
> > > How did I know this? Well, for one, I've made the mistake many times
> > > myself.  :)  But also, whenever Muse logs a message or error 
involving
> > > something that should be a qualified name (and in XML, almost 
everything
> > > is a qualified name), it will use the full QName. so, when I saw
> > > 'SubscriptionManager' instead of
> > > '{http://docs.oasis-open.org/wsn/bw-2}SubscriptionManager', I 
realized the
> > > error was a name resolution problem.
> > >
> > > We should add a note to the instructions to make sure this is done. 
I'm
> > > sorry there isn't a better answer than that - the problem with using
> > > QNames in element text is that schema validators won't catch these 
kinds
> > > of errors.
> > >
> > > Dan
> > >
> > >
> > > "José Antonio Sánchez" <[EMAIL PROTECTED]> wrote on 11/15/2006 
10:49:04
> > > AM:
> > >
> > > > I'm developing a custom WSDM service and I'm using it as a
> > > > Notification Producer so, in order to use it and just like the
> > > > tutorial describes, I have added the following to the muse.xml 
file:
> > > >
> > > > <resource-type>
> > > >       <context-path>SubscriptionManager</context-path>
> > > >       <wsdl>
> > > >          <wsdl-file>wsdl/WS-BaseNotification-1_3.wsdl</wsdl-file>
> > > > <wsdl-port-type>wsntw:SubscriptionManager</wsdl-port-type>
> > > >       </wsdl>
> > > >
> > > >       <java-id-factory-class>org.apache.muse.core.routing.
> > > > CounterResourceIdFactory</java-id-factory-class>
> > > >       <java-resource-class>org.apache.muse.ws.resource.impl.
> > > > SimpleWsResource</java-resource-class>
> > > >       <capability>
> > > >          <capability-uri>http://schemas.xmlsoap.
> > > > org/ws/2004/09/mex/GetMetadata</capability-uri>
> > > >          <java-capability-class>org.apache.muse.ws.metadata.impl.
> > > > SimpleMetadataExchange</java-capability-class>
> > > >       </capability>
> > > >       <capability>
> > > >
> > > >
> > > 
<capability-uri>http://docs.oasis-open.org/wsrf/rpw-2/Get</capability-uri>
> > > > <java-capability-class>org.apache.muse.ws.resource.properties.get.
> > > > impl.SimpleGetCapability</java-capability-class>
> > > >       </capability>
> > > >       <capability>
> > > >          <capability-uri>http://docs.oasis-open.
> > > > org/wsrf/rlw-2/ImmediateResourceTermination</capability-uri>
> > > > <java-capability-class>org.apache.muse.ws.resource.lifetime.impl.
> > > > SimpleImmediateTermination</java-capability-class>
> > > >       </capability>
> > > >
> > > >       <capability>
> > > >          <capability-uri>http://docs.oasis-open.
> > > > org/wsrf/rlw-2/ScheduledResourceTermination</capability-uri>
> > > > <java-capability-class>org.apache.muse.ws.resource.lifetime.impl.
> > > > SimpleScheduledTermination</java-capability-class>
> > > >       </capability>
> > > >       <capability>
> > > >          <capability-uri>http://docs.oasis-open.
> > > > org/wsn/bw-2/SubscriptionManager</capability-uri>
> > > > <java-capability-class>org.apache.muse.ws.notification.impl.
> > > > SimpleSubscriptionManager</java-capability-class>
> > > >
> > > >          <init-param>
> > > >             <param-name>trace-notifications</param-name>
> > > >             <param-value>true</param-value>
> > > >          </init-param>
> > > >       </capability>
> > > >    </resource-type>
> > > >
> > > > Also, I have copied all of the WSRF, WSN, and WSDM xsd and wsdl 
files
> > > > to the wsdl directory (just to be sure). The problem is that, when 
I
> > > > try to invoke my service, I get an error 500 and the catalina.out 
log
> > > > shows this:
> > > >
> > > > java.lang.RuntimeException: [ID = 'PortTypeNotFound'] The WSDL 
file
> > > >
> > > 
'/opt/apache-tomcat-5.5.15/webapps/TestService/WEB-INF/services/muse/wsdl/WS-
> > > > BaseNotification-1_3.wsdl'
> > > > does not have a portType named SubscriptionManager.
> > > >         at 
org.apache.muse.core.descriptor.SimpleResourceDescriptor.
> > > > getWsdlOperations(SimpleResourceDescriptor.java:371)
> > > >         at 
org.apache.muse.core.descriptor.SimpleResourceDescriptor.
> > > > createCapabilityDefinitions(SimpleResourceDescriptor.java:80)
> > > >         at 
org.apache.muse.core.descriptor.SimpleResourceDescriptor.
> > > > load(SimpleResourceDescriptor.java:397)
> > > >         at 
org.apache.muse.core.descriptor.SimpleDeploymentDescriptor.
> > > > createResourceDefinitions(SimpleDeploymentDescriptor.java:72)
> > > >         at 
org.apache.muse.core.descriptor.SimpleDeploymentDescriptor.
> > > > load(SimpleDeploymentDescriptor.java:171)
> > > >         at org.apache.muse.core.platform.AbstractIsolationLayer.
> > > > initialize(AbstractIsolationLayer.java:144)
> > > >         at org.apache.muse.core.platform.axis2.AxisIsolationLayer.
> > > > setOperationContext(AxisIsolationLayer.java:138)
> > > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
> > > >         at
> > > 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> > > >         at sun.reflect.DelegatingMethodAccessorImpl.
> > > > invoke(DelegatingMethodAccessorImpl.java:25)
> > > >         at java.lang.reflect.Method.invoke(Method.java:585)
> > > >         at org.apache.axis2.engine.DependencyManager.
> > > > configureBusinessLogicProvider(DependencyManager.java:70)
> > > >         at org.apache.axis2.receivers.RawXMLINOutMessageReceiver.
> > > > invokeBusinessLogic(RawXMLINOutMessageReceiver.java:79)
> > > >         at 
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.
> > > > receive(AbstractInOutSyncMessageReceiver.java:39)
> > > >         at
> > > org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:504)
> > > >         at org.apache.axis2.transport.http.HTTPTransportUtils.
> > > > processHTTPPostRequest(HTTPTransportUtils.java:324)
> > > >         at
> > > 
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:234)
> > > >         at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> > > >         at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >         at org.apache.catalina.core.ApplicationFilterChain.
> > > > internalDoFilter(ApplicationFilterChain.java:252)
> > > >         at org.apache.catalina.core.ApplicationFilterChain.
> > > > doFilter(ApplicationFilterChain.java:173)
> > > >         at org.apache.catalina.core.StandardWrapperValve.
> > > > invoke(StandardWrapperValve.java:213)
> > > >         at org.apache.catalina.core.StandardContextValve.
> > > > invoke(StandardContextValve.java:178)
> > > >         at
> > > 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> > > >         at
> > > 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> > > >         at org.apache.catalina.core.StandardEngineValve.
> > > > invoke(StandardEngineValve.java:107)
> > > >         at
> > > 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> > > >         at
> > > 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> > > >         at org.apache.coyote.http11.
> > > > Http11BaseProtocol$Http11ConnectionHandler.
> > > > processConnection(Http11BaseProtocol.java:667)
> > > >         at org.apache.tomcat.util.net.PoolTcpEndpoint.
> > > > processSocket(PoolTcpEndpoint.java:527)
> > > >         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.
> > > > runIt(LeaderFollowerWorkerThread.java:80)
> > > >         at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.
> > > > run(ThreadPool.java:684)
> > > >         at java.lang.Thread.run(Thread.java:595)
> > > >
> > > > Looking at the '/opt/apache-tomcat-5.5.15/webapps/TestService/WEB-
> > > > INF/services/muse/wsdl/WS-BaseNotification-1_3.wsdl'
> > > > file (attached) I see clearly a SubscriptionManager port type so I
> > > > don't know what's wrong.
> > > >
> > > >
> > > > --
> > > > Saludos.
> > > > José Antonio Sánchez
> > > > [attachment "WS-BaseNotification-1_3.wsdl" deleted by Daniel
> > > > Jemiolo/Durham/IBM]
> > > > 
---------------------------------------------------------------------
> > > > 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]
> >
> >
> > ---------------------------------------------------------------------
> > 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]
> 


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

Reply via email to