We do have schema for services.xml in  xdocs\latest\resources\schemas in
the SVN

Tony Dean 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.WebServiceMakerP
>>>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_LOCAL_
>>>>>NA
>>>>>ME, soapFaultReason);
>>>>>
>>>>>messageContext.setProperty(SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_
>>>>>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/
>
>
>  
>

-- 
Thanks,
Deepal
................................................................
~Future is Open~ 




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

Reply via email to