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]
