I know this has been a topic several times before, but I don't see as it's fixed.

I am using axis2 1.2 in Tomcat 5.5.23 on MacOSX 10.4.10.

I have a WSDL schema, which imports a schema, which imports a schema, which imports many schemas....

After the first import, the schemas use relative URLs. These are public external schemas and are not under my control. So it is not possible to use absolute urls.

I get the error:
2007-08-20 15:46:44,376 ERROR WSDL11ToAxisServiceBuilder.populateService.294 - javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/schema/xs:schema/xsd:schema): faultCode=OTHER_ERROR: Unable to locate with a locator the schema referenced at '../../gml/3.1.1/base/geometryAggregates.xsd' relative to document base 'http://schemas.opengis.net/filter/1.1.0/filter.xsd'

I just tried upgrading to 1.3, and I don't see the error, but I think that is more likely because my logging is broken. In both cases, trying to get the wsdl using the ?wsdl command returns the error that axis cannot generate the wsdl, even though I have useOriginalwsdl set to true.

attached is the WSDL.

How do I proceed here?

thanks,
Linus



<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    targetNamespace="http://www.iris.edu/phasepick/xsd";
    xmlns:phase="http://www.iris.edu/phasepick/xsd";
    xmlns:ws="http://www.iris.edu/ws/xsd";
    xmlns:esdp="http://portal.earthscope.org";
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
    <wsdl:types>
        <schema elementFormDefault="qualified"
            targetNamespace="http://www.iris.edu/phasepick/xsd";
            xmlns="http://www.w3.org/2001/XMLSchema";>
            
            <import namespace="http://portal.earthscope.org"; schemaLocation="http://www.iris.edu/schema/esdp/esdp.xsd"/>
            
            <include schemaLocation="http://www.iris.edu/schema/common/xml/coreDataTypes.xsd"; />
            
            <annotation>
                <documentation>----Query Types----</documentation>
            </annotation>

            <complexType name="EventQueryType">
                <sequence>
                    <element name="dateRange" type="phase:DateRangeType"/>
                    <element name="areaBox" type="phase:AreaBoxType"/>
                    <element name="magQuery" type="phase:MagnitudeQuery" minOccurs="0"/>
                    <element name="depthRange" type="phase:DepthRangeType"/>
                    <element name="author" type="string" minOccurs="0" />
                    <element name="contributor" type="string" minOccurs="0"/>
                </sequence>
            </complexType>

            <complexType name="DateRangeType">
                <sequence>
                    <element name="startDate" type="dateTime"/>
                    <element name="stopDate" type="dateTime"/>
                </sequence>
            </complexType>
            <complexType name="AreaBoxType">
                <sequence>
                    <element name="minLat" type="double"/>
                    <element name="maxLat" type="double"/>
                    <element name="minLon" type="double"/>
                    <element name="maxLon" type="double"/>
                </sequence>
            </complexType>
            <complexType name="MagnitudeQuery">
                <sequence>
                    <element name="magType" type="string"/>
                    <element name="minMag" type="double"/>
                    <element name="maxMag" type="double"/>
                    <element name="includeUnknowns" type="boolean"/>
                </sequence>
            </complexType>
            <complexType name="DepthRangeType">
                <sequence>
                    <element name="units" type="string"/>
                    <element name="minDepth" type="double"/>
                    <element name="maxDepth" type="double"/>
                </sequence>
            </complexType>

            <complexType name="IteratorInfoType">
                <sequence>
                    <element name="key" type="long"/>
                    <element name="startPosition" type="int"/>
                    <element name="batchSize" type="int"/>
                    <element name="totalCount" type="int" />
                </sequence>
            </complexType>
            <complexType name="PhaseQueryReturnType">
                <sequence>
                    <element name="Iterator" type="phase:IteratorInfoType" minOccurs="0" nillable="true"/>
                    <element name="Event" type="ws:EventType" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>

            <simpleType name="DownloadFormatType">
                <restriction base="string">
                    <enumeration value="CSV"/>
                    <enumeration value="ISF"/>
                    <enumeration value="XML"/>
                </restriction>
            </simpleType>

            <annotation>
                <documentation>----Method Types----</documentation>
            </annotation>

            <element name="serviceVersion">
                <complexType>
                    <sequence/>
                </complexType>
            </element>

            <element name="serviceVersionResponse">
                <complexType>
                    <sequence>
                        <element name="version" type="string"/>
                    </sequence>
                </complexType>
            </element>

            <element name="phasePickQuery">
                <complexType>
                    <sequence>
                        <element name="query" type="phase:EventQueryType"/>
                        <element name="showPhases" type="boolean" default="false"/>
                        <element name="returnCount" type="int" minOccurs="0" default="100"/>
                    </sequence>
                </complexType>
            </element>
            <element name="phasePickQueryResponse">
                <complexType>
                    <sequence>
                        <element type="phase:PhaseQueryReturnType"  minOccurs="0" name="response" />
                    </sequence>
                </complexType>
            </element>

            <element name="next">
                <complexType>
                    <sequence>
                        <element name="key" type="long"/>
                        <element name="position" type="int"/>
                    </sequence>
                </complexType>
            </element>
            <element name="nextResponse">
                <complexType>
                    <sequence>
                        <element type="phase:PhaseQueryReturnType"  minOccurs="0" name="response" />
                    </sequence>
                </complexType>
            </element>

            <element name="download">
                <complexType>
                    <sequence>
                        <element name="key" type="long"/>
                        <element name="format" type="phase:DownloadFormatType"/>
                    </sequence>
                </complexType>
            </element>
            <element name="downloadResponse">
                <complexType>
                    <sequence>
                        <element name="url" type="string"/>
                    </sequence>
                </complexType>
            </element>

            
        <element name="dataDiscovery">
            <complexType>
                <sequence>
                    <element name="DataDiscoveryRequest" type="esdp:DataDiscoveryRequestType"/>
                </sequence>
            </complexType>
        </element>
            
        <element name="dataDiscoveryResponse">
            <complexType>
                <sequence>
                    <element name="DataDiscoveryResponse" type="esdp:DataDiscoveryResponseType"/>
                </sequence>
            </complexType>
        </element> 
            
         </schema>
    </wsdl:types>

    <wsdl:message name="commonDataDiscoveryMsg">
        <wsdl:part element="phase:dataDiscovery" name="input"/>
    </wsdl:message>
    <wsdl:message name="commonDataDiscoveryResponseMsg">
        <wsdl:part element="phase:dataDiscoveryResponse" name="result"/>
    </wsdl:message>
    
    <wsdl:message name="serviceVersionMessage">
        <wsdl:part element="phase:serviceVersion" name="input"/>
    </wsdl:message>
    <wsdl:message name="serviceVersionResponseMessage">
        <wsdl:part element="phase:serviceVersionResponse" name="result"/>
    </wsdl:message>
    <wsdl:message name="phasePickQueryMessage">
        <wsdl:part element="phase:phasePickQuery" name="input"/>
    </wsdl:message>
    <wsdl:message name="phasePickQueryResponseMessage">
        <wsdl:part element="phase:phasePickQueryResponse" name="result"/>
    </wsdl:message>
    <wsdl:message name="nextMessage">
        <wsdl:part element="phase:next" name="input"/>
    </wsdl:message>
    <wsdl:message name="nextResponseMessage">
        <wsdl:part element="phase:phasePickQueryResponse" name="result"/>
    </wsdl:message>
    <wsdl:message name="downloadMessage">
        <wsdl:part element="phase:download" name="input"/>
    </wsdl:message>
    <wsdl:message name="downloadResponseMessage">
        <wsdl:part element="phase:downloadResponse" name="result"/>
    </wsdl:message>
    <wsdl:portType name="PhasePickServicePortType">
        <wsdl:operation name="dataDiscovery">
            <wsdl:input message="phase:commonDataDiscoveryMsg"/>
            <wsdl:output message="phase:commonDataDiscoveryResponseMsg"/>
        </wsdl:operation>
        <wsdl:operation name="serviceVersion">
            <wsdl:input message="phase:serviceVersionMessage"/>
            <wsdl:output message="phase:serviceVersionResponseMessage"/>
        </wsdl:operation>
        <wsdl:operation name="phasePickQuery">
            <wsdl:input message="phase:phasePickQueryMessage"/>
            <wsdl:output message="phase:phasePickQueryResponseMessage"/>
        </wsdl:operation>
        <wsdl:operation name="next">
            <wsdl:input message="phase:nextMessage"/>
            <wsdl:output message="phase:nextResponseMessage"/>
        </wsdl:operation>
        <wsdl:operation name="download">
            <wsdl:input message="phase:downloadMessage"/>
            <wsdl:output message="phase:downloadResponseMessage"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="PhasePickServiceSOAP12Binding" type="phase:PhasePickServicePortType">
        <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="dataDiscovery">
            <soap12:operation soapAction="urn:dataDiscovery" style="document" />
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="phasePickQuery">
            <soap12:operation soapAction="urn:phasePickQuery" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="next">
            <soap12:operation soapAction="urn:next" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="download">
            <soap12:operation soapAction="urn:download" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="serviceVersion">
            <soap12:operation soapAction="urn:serviceVersion" style="document"/>
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="PhasePickServiceSOAP11Binding" type="phase:PhasePickServicePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="dataDiscovery">
            <soap:operation soapAction="urn:dataDiscovery" style="document" />
            <wsdl:input>
                <soap12:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="phasePickQuery">
            <soap:operation soapAction="urn:phasePickQuery" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="next">
            <soap:operation soapAction="urn:next" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="download">
            <soap:operation soapAction="urn:download" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="serviceVersion">
            <soap:operation soapAction="urn:serviceVersion" style="document"/>
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="PhasePickService">
        <wsdl:port binding="phase:PhasePickServiceSOAP11Binding" name="SOAP11port">
            <soap:address location="http://localhost:8080/axis2/services/PhasePickService"/>
        </wsdl:port>
        <wsdl:port binding="phase:PhasePickServiceSOAP12Binding" name="SOAP12port">
            <soap12:address location="http://localhost:8080/axis2/services/PhasePickService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

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

Reply via email to