If I enclose <service> with <services>, I get an axis exception upon deployment:

Invalid service  WebServiceMaker due to In valid services.xml found

Obviously, that is not the correct syntax.

-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, May 16, 2006 8:52 AM
To: Tony Dean
Cc: [email protected]; Deepal Jayasinghe
Subject: Re: runtime lifecycle implementation semantics

Please try that.

On 5/16/06, Tony Dean <[EMAIL PROTECTED]> wrote:
> No.  It's listed in its entirety below in a previous email.
>
> Should it be?  It would be helpful to have a schema for services.xml.
>
> Thanks.
>
> -----Original Message-----
> From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, May 16, 2006 8:44 AM
> To: [email protected]
> Cc: Deepal Jayasinghe
> Subject: Re: runtime lifecycle implementation semantics
>
> is the <service> enclosed by a <services> tag?
>
> On 5/16/06, Tony Dean <[EMAIL PROTECTED]> wrote:
> > Deepal,
> >
> > My wsdl contains:
> >
> > <service name="WebServiceMaker">
> >   ...
> > </service>
> >
> > My services.xml contains:
> >
> > <service name="WebServiceMaker" scope="application">
> >   ...
> > </service>
> >
> > Hence you should be able to associate the service name with the wsdl 
> > service.  That's what I thought you were doing in .9x.  It seems to have 
> > changed in 1.0.
> >
> > Why are you dependent upon the name of the archive?  I changed the name of 
> > the archive (in my case the name of the exploded directory) to 
> > WebServiceMaker (it was SASWebServiceMaker) and it is working as I expect 
> > now.
> >
> > Thanks.
> >
> > -----Original Message-----
> > From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED]
> > Sent: Monday, May 15, 2006 1:02 PM
> > To: Tony Dean
> > Cc: [email protected]
> > Subject: Re: runtime lifecycle implementation semantics
> >
> > btw what is the name of service archive file , service name always be the 
> > name of the archive file if the services.xml has only one service.
> > So wsdl service name should be equal to the name of the service.
> >   - if the service name is foo.aar  (services.xml exactly look like yours)
> >   - then wsdl service element should look like
> >
> >
> >
> > <service name="foo">
> >       <port name="WebServiceMakerPort" binding="tns:WebServiceMakerBinding">
> >          <soap:address location="$WEBSVC_URL$"/> </port>
> >
> >
> >
> > Tony Dean wrote:
> >
> > >Also, do you know why
> > >http://localhost:8080/axis2/services/SASWebServiceMaker?wsdl is 
> > >returning
> > >
> > >- <error>
> > >  <description>Unable to generate WSDL for this 
> > >service</description>
> > >  <reason>Either user has not dropped the wsdl into META-INF or 
> > >operations use message receivers other than RPC.</reason>
> > >  </error>
> > >
> > >I'm using RawXMLINOutMessageReceiver.
> > >
> > >meta-inf/services.xml
> > >
> > ><service name="WebServiceMaker" scope="application">
> > >  <description>SAS BI Web Services (WebServiceMaker)</description>
> > >  <parameter locked="xsd:false"
> > >name="ServiceClass">com.sas.web.services.maker.axis2.WebServiceMake
> > >rP
> > >or
> > >tTypeSkeleton</parameter>
> > >  <operation name="MakeWebService">
> > >    <messageReceiver
> > >class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> > >  </operation>
> > >  <operation name="ListWebServices">
> > >    <messageReceiver
> > >class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> > >  </operation>
> > ></service>
> > >
> > >meta-inf/service.wsdl
> > >
> > ><?xml version="1.0" encoding="utf-8"?> <definitions 
> > >name="WebServiceMaker"
> > >             xmlns="http://schemas.xmlsoap.org/wsdl/";
> > >             
> > > targetNamespace="http://support.sas.com/xml/namespace/biwebservices/webservicemaker-9.2";
> > >             
> > > xmlns:tns="http://support.sas.com/xml/namespace/biwebservices/webservicemaker-9.2";
> > >             
> > > xmlns:typesns="http://support.sas.com/xml/namespace/biwebservices/webservicemaker-9.2";
> > >             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
> > >
> > >   <types>
> > >      <schema xmlns="http://www.w3.org/2001/XMLSchema";
> > >              
> > > targetNamespace="http://support.sas.com/xml/namespace/biwebservices/webservicemaker-9.2";
> > >              
> > > xmlns:tns="http://support.sas.com/xml/namespace/biwebservices/webservicemaker-9.2";
> > >              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > >              elementFormDefault="qualified">
> > >
> > >         <complexType name="StringArrayType">
> > >            <sequence>
> > >               <element name="string" type="string" minOccurs="0" 
> > > maxOccurs="unbounded"/>
> > >            </sequence>
> > >         </complexType>
> > >
> > >         <element name="MakeWebService" type="tns:MakeWebServiceType"/>
> > >         <complexType name="MakeWebServiceType">
> > >            <sequence>
> > >               <element name="omrURI" type="string"/>
> > >               <element name="omrUserID" type="string"/>
> > >               <element name="omrPassword" type="string"/>
> > >               <element name="storedProcessPaths" 
> > > type="tns:StringArrayType"/>
> > >               <element name="serviceName" type="string"/>
> > >            </sequence>
> > >         </complexType>
> > >
> > >         <element name="MakeWebServiceResponse" 
> > > type="tns:MakeWebServiceResponseType"/>
> > >         <complexType name="MakeWebServiceResponseType">
> > >            <sequence>
> > >               <element name="MakeWebServiceResult" type="string"/>
> > >            </sequence>
> > >         </complexType>
> > >
> > >         <element name="ListWebServices" type="tns:ListWebServicesType"/>
> > >         <complexType name="ListWebServicesType"/>
> > >
> > >         <element name="ListWebServicesResponse" 
> > > type="tns:ListWebServicesResponseType"/>
> > >         <complexType name="ListWebServicesResponseType">
> > >            <sequence>
> > >               <element name="ListWebServicesResult" 
> > > type="tns:StringArrayType"/>
> > >            </sequence>
> > >         </complexType>
> > >
> > >         <element name="FaultException" type="tns:FaultException"/>
> > >         <complexType name="FaultException">
> > >            <sequence>
> > >               <element name="ExceptionMessage" type="string" 
> > > minOccurs="0" maxOccurs="unbounded"/>
> > >            </sequence>
> > >         </complexType>
> > >
> > >      </schema>
> > >   </types>
> > >
> > >   <message name="MakeWebServiceRequest">
> > >      <part name="parameters" element="typesns:MakeWebService"/>
> > >   </message>
> > >   <message name="MakeWebServiceResponse">
> > >      <part name="parameters" element="typesns:MakeWebServiceResponse"/>
> > >   </message>
> > >   <message name="ListWebServicesRequest">
> > >      <part name="parameters" element="typesns:ListWebServices"/>
> > >   </message>
> > >   <message name="ListWebServicesResponse">
> > >      <part name="parameters" element="typesns:ListWebServicesResponse"/>
> > >   </message>
> > >   <message name="FaultException">
> > >      <part name="fault" element="typesns:FaultException"/>
> > >   </message>
> > >
> > >   <portType name="WebServiceMakerPortType">
> > >      <operation name="MakeWebService">
> > >         <input message="tns:MakeWebServiceRequest"/>
> > >         <output message="tns:MakeWebServiceResponse"/>
> > >         <fault name="fault" message="tns:FaultException"/>
> > >      </operation>
> > >      <operation name="ListWebServices">
> > >         <input message="tns:ListWebServicesRequest"/>
> > >         <output message="tns:ListWebServicesResponse"/>
> > >      </operation>
> > >   </portType>
> > >
> > >   <binding name="WebServiceMakerBinding" 
> > > type="tns:WebServiceMakerPortType">
> > >      <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
> > > style="document"/>
> > >      <operation name="MakeWebService">
> > >         <soap:operation soapAction=""/>
> > >         <input>
> > >            <soap:body use="literal"/>
> > >         </input>
> > >         <output>
> > >            <soap:body use="literal"/>
> > >         </output>
> > >         <fault name="fault">
> > >            <soap:fault name="fault" use="literal"/>
> > >         </fault>
> > >      </operation>
> > >      <operation name="ListWebServices">
> > >         <soap:operation soapAction=""/>
> > >         <input>
> > >            <soap:body use="literal"/>
> > >         </input>
> > >         <output>
> > >            <soap:body use="literal"/>
> > >         </output>
> > >      </operation>
> > >   </binding>
> > >
> > >   <service name="WebServiceMaker">
> > >      <port name="WebServiceMakerPort" 
> > > binding="tns:WebServiceMakerBinding">
> > >         <soap:address location="$WEBSVC_URL$"/>
> > >      </port>
> > >   </service>
> > ></definitions>
> > >
> > >
> > >
> > >-----Original Message-----
> > >From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED]
> > >Sent: Thursday, May 11, 2006 12:07 AM
> > >To: Tony Dean
> > >Subject: Re: runtime lifecycle implementation semantics
> > >
> > >Service scope will be equal to the scope of the service. The life time of 
> > >the service is the life time of the service context.
> > >
> > >Tony Dean wrote:
> > >
> > >
> > >
> > >>Deepal,
> > >>
> > >>I forgot to ask.  How do you configure the service context scope?  I 
> > >>assume in service.xml.  Thanks.
> > >>
> > >>-----Original Message-----
> > >>From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED]
> > >>Sent: Tuesday, May 09, 2006 11:45 AM
> > >>To: [email protected]
> > >>Subject: Re: runtime lifecycle implementation semantics
> > >>
> > >>Hi Tony
> > >>pls see my in line comments
> > >>
> > >>Tony Dean wrote:
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>Hi ,
> > >>>
> > >>>Could you please answer a few questions about lifecycle and runtime 
> > >>>contexts?
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>Life cycle of a service is determine by its scope , you can deploy 
> > >>a service in one of the following scopes
> > >>  - request scope : life time of the service will be the life time 
> > >>of request processing
> > >>  - transport scope : The life time of the service will be the 
> > >>life time of the transport session and most of the time transport 
> > >>session is manged by cookies
> > >>  - soap session scope : The scope maintained using service group id.
> > >> - application scope : The life time of the service will be the 
> > >>life time of the system
> > >>
> > >>Here the service impl class will be stored in ServiceContext , so for 
> > >>each scope you will be having service context and its life time vary 
> > >>depending on the scope.
> > >>for example ,
> > >> - if the service is deployed in application scope , then there will be 
> > >> only one servicecontex for that service , o.w there can be multiple 
> > >> service context for a given service on a given time.
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>You have addressed the issue of service lifecycle by providing 
> > >>>init(ServiceContext) and destroy(ServiceContext) callbacks that are 
> > >>>called during service initialization and service destruction, 
> > >>>respectively.  Now as I understand it you also have a 
> > >>>setOperationContext(OperationContext) callback that is called on every 
> > >>>service invocation to provide an operation context.
> > >>>
> > >>>>From the operation context, I can get the message context in one of two 
> > >>>>way it seems:
> > >>>
> > >>>Map map = operationContext.getMessageContexts();
> > >>>
> > >>>In this case, I'm not sure what to do with multiple message contexts.  
> > >>>Can you explain the need for a map?
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>Operation context is to represent a given MEP (Message Exchange
> > >>Patterns) , for a given MEP there can be multiple messages so there can 
> > >>be multiple message contexts as well. That is why you can see a Map in 
> > >>operation context. It should be note that each message in a given mep has 
> > >>a unique name.
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>MessageContext context =
> > >>>operationContext.getMessageContext(String);
> > >>>
> > >>>In this case, I'm not sure what input String is designating.  Can you 
> > >>>explain?
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>The value of the string is the corresponding message label or the name in 
> > >>a given mep. For an example if the MEP is in-out , then the value could 
> > >>be "in"  or "out"
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>If there is documentation, please direct me to it.  I could not gather 
> > >>>enough information from your javadoc.
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>I am very sorry for that :(
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>The reason that I need the message context in the first place is so that 
> > >>>I can create a detailed SOAP fault if an exception occurs:
> > >>>
> > >>>
> > >>> messageContext.setProperty(SOAP12Constants.SOAP_FAULT_CODE_LOCAL
> > >>> _N
> > >>> AM
> > >>> E, soapFaultCode);
> > >>>
> > >>>messageContext.setProperty(SOAP12Constants.SOAP_FAULT_REASON_LOCA
> > >>>L_
> > >>>NA
> > >>>ME, soapFaultReason);
> > >>>
> > >>>messageContext.setProperty(SOAP12Constants.SOAP_FAULT_DETAIL_LOCA
> > >>>L_
> > >>>NA
> > >>>M
> > >>>E, soapFaultDetail);
> > >>>
> > >>>Maybe there is a better way to create custom, detailed faults now so 
> > >>>that I do not need to set message context properties.  Please let me 
> > >>>know that as well.
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>I think Chinthaka can answer this better than me :)
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>>Thank you for your time!
> > >>>
> > >>>-Tony
> > >>>
> > >>>Tony Dean
> > >>>SAS Institute Inc.
> > >>>919.531.6704
> > >>>[EMAIL PROTECTED]
> > >>>
> > >>>SAS... The Power to Know
> > >>>http://www.sas.com
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>--
> > >>Thanks,
> > >>Deepal
> > >>................................................................
> > >>~Future is Open~
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >>
> > >
> > >--
> > >Thanks,
> > >Deepal
> > >................................................................
> > >~Future is Open~
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > Thanks,
> > Deepal
> > ................................................................
> > ~Future is Open~
> >
> >
> >
> >
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>


--
Davanum Srinivas : http://wso2.com/blogs/

Reply via email to