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]

Reply via email to