You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Tony Dean <To...@sas.com> on 2006/04/28 16:49:32 UTC
[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
tony.dean@sas.com
SAS... The Power to Know
http://www.sas.com