I looked at the code and saw that you now require a ServiceContext parameter as 
the signature to init/destroy.

I changed to the new signature and now see my init(ServiceContext) being called 
appropriately. Great! I then stopped the axis2 webApp and did not see my 
destroy(ServiceContext) get called. I would have thought my application would 
have had a chance to cleanup. At what point do you call the service's 
destroy(ServiceContext) method?

Also, how can I now get the MessageContext that pertains to each individual 
invocation of my service?

After answering these questions you can close JIRA 633.

I opened JIRA 634 that deals with ?wsdl returned from 
http://localhost:8080/axis2/services/myService?wsdl.

After making the changes to init/destroy above, it really returned a lot of 
extra non-pertinent schemas in the wsdl.

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ns4="http://cert.security.java/xsd"; 
xmlns:ns13="http://description.axis2.apache.org/xsd"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
xmlns:ns0="http://net.java/xsd"; xmlns:ns7="http://security.java/xsd"; 
xmlns:ns5="http://lang.java/xsd"; 
xmlns:ns12="http://addressing.axis2.apache.org/xsd"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:ns6="http://io.java/xsd"; xmlns:ns11="http://misc.sun/xsd"; 
xmlns:ns9="http://namespace.xml.javax/xsd"; 
xmlns:axis2="http://ws.apache.org/axis2"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:ns1="http://context.axis2.apache.org/xsd"; 
xmlns:ns14="http://engine.axis2.apache.org/xsd"; 
xmlns:ns3="http://util.deployment.axis2.apache.org/xsd"; 
xmlns:ns2="http://threadpool.util.axis2.apache.org/xsd"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:ns10="http://util.java/xsd";
xmlns:ns8="http://org.apache.axis2/xsd"; 
targetNamespace="http://ws.apache.org/axis2";><wsdl:types><xs:schema 
xmlns:stn_5="http://net.java/xsd"; targetNamespace="http://net.java/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element type="ns0:URL" name="URL" />
<xs:complexType name="URL">
<xs:sequence>
<xs:element type="xs:string" name="path" />
<xs:element type="xs:string" name="authority" />
<xs:element type="xs:string" name="query" />
<xs:element type="xs:string" name="file" />
<xs:element type="xs:string" name="host" />
<xs:element type="xs:string" name="protocol" />
<xs:element type="xs:anyType" name="content" />
<xs:element type="xs:int" name="defaultPort" />
<xs:element type="xs:int" name="port" />
<xs:element type="xs:string" name="ref" />
<xs:element type="xs:string" name="userInfo" />
<xs:element type="ns0:URLStreamHandlerFactory" name="uRLStreamHandlerFactory" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns0:URLStreamHandlerFactory" name="URLStreamHandlerFactory" />
<xs:complexType name="URLStreamHandlerFactory">
<xs:sequence />
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_55="http://addressing.axis2.apache.org/xsd"; 
xmlns:stn_1="http://context.axis2.apache.org/xsd"; 
xmlns:stn_44="http://threadpool.util.axis2.apache.org/xsd"; 
xmlns:stn_48="http://util.java/xsd"; xmlns:stn_50="http://io.java/xsd"; 
xmlns:stn_41="http://description.axis2.apache.org/xsd"; 
xmlns:stn_47="http://engine.axis2.apache.org/xsd"; 
targetNamespace="http://context.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://description.axis2.apache.org/xsd"; />
<xs:import namespace="http://threadpool.util.axis2.apache.org/xsd"; />
<xs:import namespace="http://engine.axis2.apache.org/xsd"; />
<xs:import namespace="http://util.java/xsd"; />
<xs:import namespace="http://io.java/xsd"; />
<xs:import namespace="http://addressing.axis2.apache.org/xsd"; />
<xs:element type="ns1:ServiceContext" name="ServiceContext" />
<xs:complexType name="ServiceContext">
<xs:sequence>
<xs:element type="ns13:AxisService" name="axisService" />
<xs:element type="ns1:ConfigurationContext" name="configurationContext" />
<xs:element type="ns1:ServiceGroupContext" name="serviceGroupContext" />
<xs:element type="ns12:EndpointReference" name="myEPR" />
<xs:element type="ns12:EndpointReference" name="targetEPR" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns1:ConfigurationContext" name="ConfigurationContext" />
<xs:complexType name="ConfigurationContext">
<xs:sequence>
<xs:element type="ns2:ThreadFactory" name="threadPool" />
<xs:element type="ns14:ListenerManager" name="listenerManager" />
<xs:element type="ns14:AxisConfiguration" name="axisConfiguration" />
<xs:element type="ns10:Map" name="operationContextMap" />
<xs:element type="ns10:Hashtable" name="serviceGroupContexts" />
<xs:element type="ns6:File" name="rootDir" />
<xs:element type="ns14:ListenerManager" name="transportManager" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns1:ServiceGroupContext" name="ServiceGroupContext" />
<xs:complexType name="ServiceGroupContext">
<xs:sequence>
<xs:element type="ns13:AxisServiceGroup" name="description" />
<xs:element type="xs:string" name="id" />
<xs:element type="ns10:Iterator" name="serviceContexts" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema 
xmlns:stn_43="http://threadpool.util.axis2.apache.org/xsd"; 
targetNamespace="http://threadpool.util.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element type="ns2:ThreadFactory" name="ThreadFactory" />
<xs:complexType name="ThreadFactory">
<xs:sequence />
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_34="http://description.axis2.apache.org/xsd"; 
xmlns:stn_27="http://util.deployment.axis2.apache.org/xsd"; 
targetNamespace="http://util.deployment.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://description.axis2.apache.org/xsd"; />
<xs:element type="ns3:PhasesInfo" name="PhasesInfo" />
<xs:complexType name="PhasesInfo">
<xs:sequence>
<xs:element type="stn_34:AxisOperation" name="operationPhases" />
<xs:element type="xs:anyType" name="globalInflow" />
<xs:element type="xs:anyType" name="iN_FaultPhases" />
<xs:element type="xs:anyType" name="globalOutPhaseList" />
<xs:element type="xs:anyType" name="oUT_FaultPhases" />
<xs:element type="xs:anyType" name="iNPhases" />
<xs:element type="xs:anyType" name="oUTPhases" />
<xs:element type="xs:anyType" name="operationInFaultPhases" />
<xs:element type="xs:anyType" name="operationInPhases" />
<xs:element type="xs:anyType" name="operationOutFaultPhases" />
<xs:element type="xs:anyType" name="operationOutPhases" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_14="http://security.java/xsd"; 
xmlns:stn_12="http://cert.security.java/xsd"; 
targetNamespace="http://cert.security.java/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://security.java/xsd"; />
<xs:element type="ns4:Certificate" name="Certificate" />
<xs:complexType name="Certificate">
<xs:sequence>
<xs:element type="xs:string" name="type" />
<xs:element minOccurs="0" type="xs:byte" name="encoded" maxOccurs="unbounded" />
<xs:element type="ns7:PublicKey" name="publicKey" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_3="http://lang.java/xsd"; 
xmlns:stn_19="http://security.java/xsd"; xmlns:stn_8="http://misc.sun/xsd"; 
targetNamespace="http://lang.java/xsd"; elementFormDefault="unqualified" 
attributeFormDefault="unqualified">
<xs:import namespace="http://misc.sun/xsd"; />
<xs:import namespace="http://security.java/xsd"; />
<xs:element type="ns5:ClassLoader" name="ClassLoader" />
<xs:complexType name="ClassLoader">
<xs:sequence>
<xs:element type="ns5:ClassLoader" name="systemClassLoader" />
<xs:element type="ns5:ClassLoader" name="callerClassLoader" />
<xs:element type="ns11:URLClassPath" name="bootstrapClassPath" />
<xs:element type="ns7:ProtectionDomain" name="defaultDomain" />
<xs:element minOccurs="0" type="ns5:Package" name="packages" 
maxOccurs="unbounded" />
<xs:element type="ns5:ClassLoader" name="parent" />
<xs:element type="xs:boolean" name="defaultAssertionStatus" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns5:Package" name="Package" />
<xs:complexType name="Package">
<xs:sequence>
<xs:element type="xs:string" name="name" />
<xs:element minOccurs="0" type="ns5:Package" name="packages" 
maxOccurs="unbounded" />
<xs:element minOccurs="0" type="ns5:Package" name="systemPackages" 
maxOccurs="unbounded" />
<xs:element type="xs:boolean" name="sealed" />
<xs:element type="xs:string" name="implementationTitle" />
<xs:element type="xs:string" name="implementationVendor" />
<xs:element type="xs:string" name="implementationVersion" />
<xs:element type="xs:string" name="specificationTitle" />
<xs:element type="xs:string" name="specificationVendor" />
<xs:element type="xs:string" name="specificationVersion" />
<xs:element minOccurs="0" type="xs:string" name="systemPackages0" 
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_49="http://io.java/xsd"; 
targetNamespace="http://io.java/xsd"; elementFormDefault="unqualified" 
attributeFormDefault="unqualified">
<xs:element type="ns6:File" name="File" />
<xs:complexType name="File">
<xs:sequence>
<xs:element type="xs:string" name="name" />
<xs:element type="xs:string" name="canonicalPath" />
<xs:element type="xs:string" name="parent" />
<xs:element type="xs:boolean" name="absolute" />
<xs:element type="xs:string" name="path" />
<xs:element type="ns6:File" name="absoluteFile" />
<xs:element type="xs:string" name="absolutePath" />
<xs:element type="ns6:File" name="canonicalFile" />
<xs:element type="ns6:File" name="parentFile" />
<xs:element type="xs:int" name="prefixLength" />
<xs:element type="xs:string" name="tempDir" />
<xs:element type="xs:boolean" name="directory" />
<xs:element type="xs:boolean" name="file" />
<xs:element type="xs:boolean" name="hidden" />
<xs:element type="xs:long" name="lastModified" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_15="http://cert.security.java/xsd"; 
xmlns:stn_10="http://lang.java/xsd"; xmlns:stn_9="http://security.java/xsd"; 
xmlns:stn_16="http://net.java/xsd"; targetNamespace="http://security.java/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://lang.java/xsd"; />
<xs:import namespace="http://cert.security.java/xsd"; />
<xs:import namespace="http://net.java/xsd"; />
<xs:element type="ns7:ProtectionDomain" name="ProtectionDomain" />
<xs:complexType name="ProtectionDomain">
<xs:sequence>
<xs:element type="ns5:ClassLoader" name="classLoader" />
<xs:element type="ns7:CodeSource" name="codeSource" />
<xs:element type="ns7:PermissionCollection" name="permissions" />
<xs:element minOccurs="0" type="ns7:Principal" name="principals" 
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns7:CodeSource" name="CodeSource" />
<xs:complexType name="CodeSource">
<xs:sequence>
<xs:element minOccurs="0" type="ns4:Certificate" name="certificates" 
maxOccurs="unbounded" />
<xs:element type="ns0:URL" name="location" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns7:PublicKey" name="PublicKey" />
<xs:complexType name="PublicKey">
<xs:sequence />
</xs:complexType>
<xs:element type="ns7:PermissionCollection" name="PermissionCollection" />
<xs:complexType name="PermissionCollection">
<xs:sequence>
<xs:element type="xs:boolean" name="readOnly" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns7:Principal" name="Principal" />
<xs:complexType name="Principal">
<xs:sequence>
<xs:element type="xs:string" name="name" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_56="http://context.axis2.apache.org/xsd"; 
xmlns:ns="http://org.apache.axis2/xsd"; 
targetNamespace="http://org.apache.axis2/xsd"; elementFormDefault="unqualified" 
attributeFormDefault="unqualified">
<xs:import namespace="http://context.axis2.apache.org/xsd"; />
<xs:element name="destroy">
<xs:complexType>
<xs:sequence>
<xs:element type="ns1:ServiceContext" name="serviceContext" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MakeWebService">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:anyType" name="parameters" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MakeWebServiceResponse">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:anyType" name="return" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ListWebServices">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:anyType" name="parameters" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ListWebServicesResponse">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:anyType" name="return" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema><xs:schema xmlns:stn_29="http://namespace.xml.javax/xsd"; 
targetNamespace="http://namespace.xml.javax/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element type="ns9:QName" name="QName" />
<xs:complexType name="QName">
<xs:sequence>
<xs:element type="xs:string" name="namespaceURI" />
<xs:element type="xs:string" name="prefix" />
<xs:element type="xs:string" name="localPart" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_23="http://util.java/xsd"; 
targetNamespace="http://util.java/xsd"; elementFormDefault="unqualified" 
attributeFormDefault="unqualified">
<xs:element type="ns10:Iterator" name="Iterator" />
<xs:complexType name="Iterator">
<xs:sequence />
</xs:complexType>
<xs:element type="ns10:Collection" name="Collection" />
<xs:complexType name="Collection">
<xs:sequence>
<xs:element type="xs:boolean" name="empty" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns10:HashMap" name="HashMap" />
<xs:complexType name="HashMap">
<xs:sequence>
<xs:element type="xs:boolean" name="empty" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns10:Hashtable" name="Hashtable" />
<xs:complexType name="Hashtable">
<xs:sequence>
<xs:element type="xs:boolean" name="empty" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns10:Map" name="Map" />
<xs:complexType name="Map">
<xs:sequence>
<xs:element type="xs:boolean" name="empty" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_7="http://net.java/xsd"; 
xmlns:stn_4="http://misc.sun/xsd"; targetNamespace="http://misc.sun/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://net.java/xsd"; />
<xs:element type="ns11:URLClassPath" name="URLClassPath" />
<xs:complexType name="URLClassPath">
<xs:sequence>
<xs:element minOccurs="0" type="ns0:URL" name="uRLs" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_53="http://addressing.axis2.apache.org/xsd"; 
xmlns:stn_54="http://util.java/xsd"; 
targetNamespace="http://addressing.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://util.java/xsd"; />
<xs:element type="ns12:EndpointReference" name="EndpointReference" />
<xs:complexType name="EndpointReference">
<xs:sequence>
<xs:element type="xs:string" name="address" />
<xs:element type="xs:string" name="name" />
<xs:element type="xs:anyType" name="attributes" />
<xs:element type="ns10:Map" name="allReferenceParameters" />
<xs:element type="xs:anyType" name="extensibleElements" />
<xs:element type="xs:anyType" name="metaData" />
<xs:element type="ns10:Map" name="referenceParameters" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_21="http://lang.java/xsd"; 
xmlns:stn_30="http://namespace.xml.javax/xsd"; 
xmlns:stn_24="http://util.java/xsd"; 
xmlns:stn_32="http://engine.axis2.apache.org/xsd"; 
xmlns:stn_2="http://description.axis2.apache.org/xsd"; 
xmlns:stn_22="http://net.java/xsd"; 
targetNamespace="http://description.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://lang.java/xsd"; />
<xs:import namespace="http://net.java/xsd"; />
<xs:import namespace="http://util.java/xsd"; />
<xs:import namespace="http://namespace.xml.javax/xsd"; />
<xs:import namespace="http://engine.axis2.apache.org/xsd"; />
<xs:element type="ns13:AxisService" name="AxisService" />
<xs:complexType name="AxisService">
<xs:sequence>
<xs:element type="xs:string" name="name" />
<xs:element type="ns5:ClassLoader" name="classLoader" />
<xs:element type="xs:anyType" name="key" />
<xs:element type="ns0:URL" name="fileName" />
<xs:element type="ns10:Iterator" name="operations" />
<xs:element type="xs:anyType" name="schema" />
<xs:element type="xs:string" name="scope" />
<xs:element type="xs:string" name="endpoint" />
<xs:element type="stn_32:AxisConfiguration" name="axisConfiguration" />
<xs:element type="xs:anyType" name="modules" />
<xs:element type="xs:boolean" name="wsdlfound" />
<xs:element type="xs:boolean" name="useDefaultChains" />
<xs:element type="ns10:Collection" name="engagedModules" />
<xs:element type="xs:boolean" name="active" />
<xs:element type="xs:string" name="targetNamespace" />
<xs:element type="xs:string" name="targetNamespacePrefix" />
<xs:element type="ns10:Map" name="nameSpacesMap" />
<xs:element type="xs:string" name="schematargetNamespace" />
<xs:element type="xs:string" name="schematargetNamespacePrefix" />
<xs:element type="xs:boolean" name="enableAllTransport" />
<xs:element minOccurs="0" type="xs:string" name="exposeTransports" 
maxOccurs="unbounded" />
<xs:element type="xs:string" name="soapNsUri" />
<xs:element type="xs:boolean" name="schemaLocationsAdjusted" />
<xs:element type="ns10:Hashtable" name="schemaMappingTable" />
<xs:element type="xs:string" name="customSchemaNamePrefix" />
<xs:element type="xs:string" name="customSchemaNameSuffix" />
<xs:element type="xs:string" name="serviceDescription" />
<xs:element type="xs:anyType" name="controlOperations" />
<xs:element type="xs:long" name="lastupdate" />
<xs:element type="xs:anyType" name="publishedOperations" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns13:AxisOperation" name="AxisOperation" />
<xs:complexType name="AxisOperation">
<xs:sequence>
<xs:element type="stn_30:QName" name="name" />
<xs:element type="xs:anyType" name="key" />
<xs:element type="stn_32:MessageReceiver" name="messageReceiver" />
<xs:element type="xs:string" name="messageExchangePattern" />
<xs:element type="xs:anyType" name="moduleRefs" />
<xs:element type="ns10:Collection" name="engagedModules" />
<xs:element type="xs:anyType" name="remainingPhasesInFlow" />
<xs:element type="xs:anyType" name="phasesOutFlow" />
<xs:element type="xs:anyType" name="phasesInFaultFlow" />
<xs:element type="xs:anyType" name="phasesOutFaultFlow" />
<xs:element type="xs:string" name="soapAction" />
<xs:element type="xs:anyType" name="wsamappingList" />
<xs:element type="xs:int" name="axisSpecifMEPConstant" />
<xs:element type="xs:string" name="style" />
<xs:element type="xs:boolean" name="controlOperation" />
<xs:element type="xs:anyType" name="faultMessages" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns13:AxisServiceGroup" name="AxisServiceGroup" />
<xs:complexType name="AxisServiceGroup">
<xs:sequence>
<xs:element type="xs:anyType" name="key" />
<xs:element type="xs:string" name="serviceGroupName" />
<xs:element type="ns5:ClassLoader" name="serviceGroupClassLoader" />
<xs:element type="xs:anyType" name="moduleRefs" />
<xs:element type="stn_32:AxisConfiguration" name="axisDescription" />
<xs:element type="xs:anyType" name="engagedModules" />
<xs:element type="ns10:Iterator" name="services" />
</xs:sequence>
</xs:complexType>
</xs:schema><xs:schema xmlns:stn_38="http://net.java/xsd"; 
xmlns:stn_25="http://engine.axis2.apache.org/xsd"; 
xmlns:stn_46="http://context.axis2.apache.org/xsd"; 
xmlns:stn_35="http://util.deployment.axis2.apache.org/xsd"; 
xmlns:stn_37="http://util.java/xsd"; xmlns:stn_26="http://lang.java/xsd"; 
targetNamespace="http://engine.axis2.apache.org/xsd"; 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:import namespace="http://lang.java/xsd"; />
<xs:import namespace="http://util.deployment.axis2.apache.org/xsd"; />
<xs:import namespace="http://util.java/xsd"; />
<xs:import namespace="http://net.java/xsd"; />
<xs:import namespace="http://context.axis2.apache.org/xsd"; />
<xs:element type="ns14:AxisConfiguration" name="AxisConfiguration" />
<xs:complexType name="AxisConfiguration">
<xs:sequence>
<xs:element type="ns5:ClassLoader" name="systemClassLoader" />
<xs:element type="xs:anyType" name="key" />
<xs:element type="ns3:PhasesInfo" name="phasesinfo" />
<xs:element type="stn_37:HashMap" name="modules" />
<xs:element type="ns0:URL" name="repository" />
<xs:element type="ns5:ClassLoader" name="moduleClassLoader" />
<xs:element type="ns5:ClassLoader" name="serviceClassLoader" />
<xs:element type="ns3:PhasesInfo" name="phasesInfo" />
<xs:element type="stn_37:Hashtable" name="faultyServices" />
<xs:element type="stn_37:Hashtable" name="faultyModules" />
<xs:element type="xs:anyType" name="inPhasesUptoAndIncludingPostDispatch" />
<xs:element type="xs:anyType" name="inFaultPhases" />
<xs:element type="xs:anyType" name="globalOutPhase" />
<xs:element type="xs:anyType" name="outFaultPhases" />
<xs:element type="stn_37:Collection" name="engagedModules" />
<xs:element type="stn_37:HashMap" name="services" />
<xs:element type="xs:anyType" name="globalOutPhases" />
<xs:element type="xs:anyType" name="inFaultFlow" />
<xs:element type="xs:anyType" name="globalInFlow" />
<xs:element type="xs:anyType" name="outFaultFlow" />
<xs:element type="stn_37:Iterator" name="serviceGroups" />
<xs:element type="stn_37:HashMap" name="transportsIn" />
<xs:element type="stn_37:HashMap" name="transportsOut" />
</xs:sequence>
</xs:complexType>
<xs:element type="ns14:MessageReceiver" name="MessageReceiver" />
<xs:complexType name="MessageReceiver">
<xs:sequence />
</xs:complexType>
<xs:element type="ns14:ListenerManager" name="ListenerManager" />
<xs:complexType name="ListenerManager">
<xs:sequence>
<xs:element type="xs:boolean" name="stopped" />
<xs:element type="ns1:ConfigurationContext" name="configctx" />
</xs:sequence>
</xs:complexType>
</xs:schema></wsdl:types><wsdl:message name="MakeWebServiceMessage"><wsdl:part 
element="ns8:MakeWebService" name="part1" /></wsdl:message><wsdl:message 
name="MakeWebServiceResponse"><wsdl:part element="ns8:MakeWebServiceResponse" 
name="part1" /></wsdl:message><wsdl:message name="destroyMessage"><wsdl:part 
element="ns8:destroy" name="part1" /></wsdl:message><wsdl:message 
name="ListWebServicesMessage"><wsdl:part element="ns8:ListWebServices" 
name="part1" /></wsdl:message><wsdl:message 
name="ListWebServicesResponse"><wsdl:part element="ns8:ListWebServicesResponse" 
name="part1" /></wsdl:message><wsdl:portType 
name="SASWebServiceMakerPortType"><wsdl:operation 
name="MakeWebService"><wsdl:input message="axis2:MakeWebServiceMessage" 
/><wsdl:output message="axis2:MakeWebServiceResponse" 
/></wsdl:operation><wsdl:operation name="destroy"><wsdl:input 
message="axis2:destroyMessage" /></wsdl:operation><wsdl:operation 
name="ListWebServices"><wsdl:input message="axis2:ListWebServicesMessage"
/><wsdl:output message="axis2:ListWebServicesResponse" 
/></wsdl:operation></wsdl:portType><wsdl:binding 
type="axis2:SASWebServiceMakerPortType" 
name="SASWebServiceMakerSOAP11Binding"><soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; /><wsdl:operation 
name="MakeWebService"><soap:operation style="document" 
soapAction="urn:MakeWebService" /><wsdl:input><soap:body 
namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:input><wsdl:output><soap:body namespace="http://ws.apache.org/axis2"; 
use="literal" /></wsdl:output></wsdl:operation><wsdl:operation 
name="destroy"><soap:operation style="document" soapAction="urn:destroy" 
/><wsdl:input><soap:body namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:input></wsdl:operation><wsdl:operation 
name="ListWebServices"><soap:operation style="document" 
soapAction="urn:ListWebServices" /><wsdl:input><soap:body 
namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:input><wsdl:output><soap:body
namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
type="axis2:SASWebServiceMakerPortType" 
name="SASWebServiceMakerSOAP12Binding"><soap12:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; /><wsdl:operation 
name="MakeWebService"><soap12:operation style="document" 
soapAction="urn:MakeWebService" /><wsdl:input><soap12:body 
namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:input><wsdl:output><soap12:body namespace="http://ws.apache.org/axis2"; 
use="literal" /></wsdl:output></wsdl:operation><wsdl:operation 
name="destroy"><soap12:operation style="document" soapAction="urn:destroy" 
/><wsdl:input><soap12:body namespace="http://ws.apache.org/axis2"; use="literal" 
/></wsdl:input></wsdl:operation><wsdl:operation 
name="ListWebServices"><soap12:operation style="document" 
soapAction="urn:ListWebServices" /><wsdl:input><soap12:body 
namespace="http://ws.apache.org/axis2"; use="literal"
/></wsdl:input><wsdl:output><soap12:body namespace="http://ws.apache.org/axis2"; 
use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
type="axis2:SASWebServiceMakerPortType" 
name="SASWebServiceMakerHttpBinding"><http:binding verb="POST" 
/><wsdl:operation name="MakeWebService"><http:operation 
location="MakeWebService" /><wsdl:input><mime:content type="text/xml" 
/></wsdl:input><wsdl:output><mime:content type="text/xml" 
/></wsdl:output></wsdl:operation><wsdl:operation name="destroy"><http:operation 
location="destroy" /><wsdl:input><mime:content type="text/xml" 
/></wsdl:input></wsdl:operation><wsdl:operation 
name="ListWebServices"><http:operation location="ListWebServices" 
/><wsdl:input><mime:content type="text/xml" 
/></wsdl:input><wsdl:output><mime:content type="text/xml" 
/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service 
name="SASWebServiceMaker"><wsdl:port 
binding="axis2:SASWebServiceMakerSOAP11Binding"
name="SASWebServiceMakerSOAP11port0"><soap:address 
location="http://localhost:8080/axis2/services/SASWebServiceMaker"; 
/></wsdl:port><wsdl:port binding="axis2:SASWebServiceMakerSOAP12Binding" 
name="SASWebServiceMakerSOAP12port0"><soap12:address 
location="http://localhost:8080/axis2/services/SASWebServiceMaker"; 
/></wsdl:port><wsdl:port binding="axis2:SASWebServiceMakerHttpBinding" 
name="SASWebServiceMakerHttpport0"><http:address 
location="http://localhost:8080/axis2/rest/SASWebServiceMaker"; 
/></wsdl:port></wsdl:service></wsdl:definitions>

-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED] 
Sent: Friday, April 28, 2006 4:16 PM
To: [email protected]
Subject: Re: [AXIS2 ] - RC3 codebase

please log 2 bugs with wsdl and init code snippet respectively

thx,
dims

On 4/28/06, Tony Dean <[EMAIL PROTECTED]> wrote:
> Anyone have any comments?
>
> I tried RC4 and get the same results.
>
> Thanks.
>
> -----Original Message-----
> From: Tony Dean [mailto:[EMAIL PROTECTED]
> Sent: Friday, April 28, 2006 10:50 AM
> To: [email protected]
> Subject: [AXIS2 ] - RC3 codebase
>
> Hi,
>
> The last time I successfully ran Axis2 was 0.95.  Thus it has been several 
> weeks since I have touched it.  I downloaded RC3 to try it out and I am 
> seeing a lot of differences.  Let me enumerate what I have run into thus far 
> so you can comment on:
>
> 1. The deployment of my web service was successful, but the generated wsdl 
> that Axis2 returns (?wsdl) does not match the one that I include with my 
> service.  Here's the one that I include with my service in META-INF/.
>
> <?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>
>
>
> Here's the one that you generate:
>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
> xmlns:axis2="http://ws.apache.org/axis2"; 
> xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
> xmlns:ns1="http://org.apache.axis2/xsd"; 
> xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> targetNamespace="http://ws.apache.org/axis2";><wsdl:types><xs:schema 
> xmlns:ns="http://org.apache.axis2/xsd"; 
> targetNamespace="http://org.apache.axis2/xsd"; 
> elementFormDefault="unqualified" attributeFormDefault="unqualified">
> <xs:element name="destroy">
> <xs:complexType />
> </xs:element>
> <xs:element name="MakeWebService">
> <xs:complexType>
> <xs:sequence>
> <xs:element type="xs:anyType" name="parameters" /> </xs:sequence> 
> </xs:complexType> </xs:element> <xs:element 
> name="MakeWebServiceResponse"> <xs:complexType> <xs:sequence> 
> <xs:element type="xs:anyType" name="return" /> </xs:sequence> 
> </xs:complexType> </xs:element> <xs:element name="ListWebServices"> 
> <xs:complexType> <xs:sequence> <xs:element type="xs:anyType" 
> name="parameters" /> </xs:sequence> </xs:complexType> </xs:element> 
> <xs:element name="ListWebServicesResponse"> <xs:complexType> 
> <xs:sequence> <xs:element type="xs:anyType" name="return" /> 
> </xs:sequence> </xs:complexType> </xs:element> 
> </xs:schema></wsdl:types><wsdl:message 
> name="MakeWebServiceMessage"><wsdl:part element="ns1:MakeWebService" 
> name="part1" /></wsdl:message><wsdl:message 
> name="MakeWebServiceResponseMessage"><wsdl:part 
> element="ns1:MakeWebServiceResponse" name="part1" 
> /></wsdl:message><wsdl:message name="destroyMessage"><wsdl:part 
> element="ns1:destroy" name="part1" /></wsdl:message><wsdl:message 
> name="ListWebServicesMessage"><wsdl:part element="ns1:ListWebServices" 
> name="part1" /></wsdl:message><wsdl:message 
> name="ListWebServicesResponseMessage"><wsdl:part 
> element="ns1:ListWebServicesResponse" name="part1" 
> /></wsdl:message><wsdl:portType 
> name="SASWebServiceMakerPortType"><wsdl:operation 
> name="MakeWebService"><wsdl:input 
> message="axis2:MakeWebServiceMessage" /><wsdl:output 
> message="axis2:MakeWebServiceResponseMessage" 
> /></wsdl:operation><wsdl:operation name="destroy"><wsdl:input 
> message="axis2:destroyMessage" /></wsdl:operation><wsdl:operation 
> name="ListWebServices"><wsdl:input
> message="axis2:ListWebServicesMessage" /><wsdl:output 
> message="axis2:ListWebServicesResponseMessage" 
> /></wsdl:operation></wsdl:portType><wsdl:binding 
> type="axis2:SASWebServiceMakerPortType" 
> name="SASWebServiceMakerSOAP11Binding"><soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"; /><wsdl:operation 
> name="MakeWebService"><soap:operation style="document" 
> soapAction="urn:MakeWebService" /><wsdl:input><soap:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:input><wsdl:output><soap:body namespace="http://ws.apache.org/axis2"; 
> use="literal" /></wsdl:output></wsdl:operation><wsdl:operation 
> name="destroy"><soap:operation style="document" soapAction="urn:destroy" 
> /><wsdl:input><soap:body namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:input></wsdl:operation><wsdl:operation 
> name="ListWebServices"><soap:operation style="document" 
> soapAction="urn:ListWebServices" /><wsdl:input><soap:body 
> namespace="http://ws.apache.org/axis2";
> use="literal" /></wsdl:input><wsdl:output><soap:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
> type="axis2:SASWebServiceMakerPortType" 
> name="SASWebServiceMakerSOAP12Binding"><soap12:binding 
> style="document" transport="http://schemas.xmlsoap.org/soap/http"; 
> /><wsdl:operation name="MakeWebService"><soap12:operation 
> style="document" soapAction="urn:MakeWebService" 
> /><wsdl:input><soap12:body namespace="http://ws.apache.org/axis2"; 
> use="literal" /></wsdl:input><wsdl:output><soap12:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:output></wsdl:operation><wsdl:operation 
> name="destroy"><soap12:operation style="document" 
> soapAction="urn:destroy" /><wsdl:input><soap12:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:input></wsdl:operation><wsdl:operation 
> name="ListWebServices"><soap12:operation style="document" 
> soapAction="urn:ListWebServices" /><wsdl:input><soap12:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:input><wsdl:output><soap12:body 
> namespace="http://ws.apache.org/axis2"; use="literal" 
> /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding 
> type="axis2:SASWebServiceMakerPortType" 
> name="SASWebServiceMakerHttpBinding"><http:binding verb="POST" 
> /><wsdl:operation name="MakeWebService"><http:operation 
> location="MakeWebService" /><wsdl:input><mime:content type="text/xml" 
> /></wsdl:input><wsdl:output><mime:content type="text/xml" 
> /></wsdl:output></wsdl:operation><wsdl:operation 
> name="destroy"><http:operation location="destroy" 
> /><wsdl:input><mime:content type="text/xml" 
> /></wsdl:input></wsdl:operation><wsdl:operation 
> name="ListWebServices"><http:operation location="ListWebServices" 
> /><wsdl:input><mime:content type="text/xml" 
> /></wsdl:input><wsdl:output><mime:content type="text/xml" 
> /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service 
> name="SASWebServiceMaker"><wsdl:port
> binding="axis2:SASWebServiceMakerSOAP11Binding" 
> name="SASWebServiceMakerSOAP11port0"><soap:address 
> location="http://localhost:8080/axis2/services/SASWebServiceMaker"; 
> /></wsdl:port><wsdl:port 
> binding="axis2:SASWebServiceMakerSOAP12Binding" 
> name="SASWebServiceMakerSOAP12port0"><soap12:address 
> location="http://localhost:8080/axis2/services/SASWebServiceMaker"; 
> /></wsdl:port><wsdl:port binding="axis2:SASWebServiceMakerHttpBinding" 
> name="SASWebServiceMakerHttpport0"><http:address 
> location="http://localhost:8080/axis2/rest/SASWebServiceMaker"; 
> /></wsdl:port></wsdl:service></wsdl:definitions>
>
> Even my service name changed from WebServiceMaker to SASWebServiceMaker.  The 
> name "SASWebServiceMaker" is know where in services.xml or wsdl, but it is 
> the top-level directory name in my exploded service archive.
>
> 2. I'm not sure how lifecyle works now; but, I am not seeing my init() method 
> being called any more.  Does your service have to implement a certain 
> interface in order for init() and destroy() lifecycle semantics to take 
> place?  I noticed that Axis2 thinks destroy() is an operation (this should 
> not be surfaced to end users).
>
> I'm probably missing some configuration details I hope so please fill me in 
> or point me to some documentation.
>
> Thanks.
>
> Tony Dean
> SAS Institute Inc.
> 919.531.6704
> [EMAIL PROTECTED]
>
> SAS... The Power to Know
> http://www.sas.com
>
>


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

Reply via email to