Hello, I'm trying to implement a factory service in Muse 1.0, so I've
made it a singleton service. To do so I copied the code of the Home in
the enterprise example as follows:

private ServiceManagementPortResource m_resource = null;
   /**
    * Create and add any resource instances.
    *
    * @throws Exception on error
    */
   public void init() throws Exception
   {
       super.init();
       // TODO: Create and add any known resource instances here.
       // If this is home for a singleton service (i.e. a service
that exposes exactly one resource),
       // use null as the resource identifier when creating the instance.
       //String instance1Id = "00000001";

       try
              {
                
                 if ( m_resource == null )
                 {
                    m_resource = (ServiceManagementPortResource)
createInstance( null );
                    EndpointReference epr =
                       getEndpointReference( null );
                    m_resource.setEndpointReference( epr );
                    add( m_resource );
                    System.out.println("epr is " + epr.toString());
                 }
              }
              catch ( ResourceException e )
              {
                 throw new ResourceUnknownException(
"ServiceManagementPortResource","ServiceManagementPortResource"
                                                      );
              }
   }


And in the Resource file I've initialized the resourceid following the
Host example:

public void init()
   {
       super.init();

       /**
                 * The ResourcePropertySet which contains all the defined 
ResourceProperties
                 */
                org.apache.ws.resource.properties.ResourcePropertySet
resourcePropertySet = getResourcePropertySet();
                org.apache.ws.resource.properties.ResourceProperty 
resourceProperty = null;


        try{    
                // init the 
{http://docs.oasis-open.org/wsdm/2004/12/muws/wsdm-muws-part1.xsd}ResourceId
Resource Property
                org.apache.ws.muws.MuwsUtils.initResourceIdProperty(this);
        
        
                }
        catch (Exception e)
        {
           throw new javax.xml.rpc.JAXRPCException("There was a problem in
initializing your resource properties.  Please check your init()
method. Cause: " + e.getLocalizedMessage());
        }
                        
            }

The problem is that when I try to invoke it using the following message:

<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:fs="http://tomas.org/wsdm/ServiceManagement";
xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";>
     <soapenv:Header>
        <wsa:To
soapenv:mustUnderstand="1">http://adapt20:8081/muse/services/ServiceManagementPort</wsa:To>
        <wsa:Action
soapenv:mustUnderstand="1">http://tomas.org/wsdm/ServiceManagement/ServiceManagementPortType/GetServices</wsa:Action>
     </soapenv:Header>
     <soapenv:Body>
        <fs:GetServicesRequest/>
     </soapenv:Body>
  </soapenv:Envelope>

I get the response:

<?xml version="1.0" encoding="utf-8"?>
  <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
     <soapenv:Body>
        <soapenv:Fault>
           <faultcode>soapenv:Client</faultcode>
           <faultstring>The expected resource identifier reference
parameter named
{http://tomas.org/wsdm/ServiceManagement}ResourceIdentifier was not
found in the SOAP header.</faultstring>
           <detail/>
        </soapenv:Fault>
     </soapenv:Body>
  </soapenv:Envelope>

So I think that it does not recognize it as a singleton service. Is
there something more to do to define a singleton service apart from
initializing the resource id as null?

--
Saludos.
José Antonio Sánchez

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

Reply via email to