The WSDL below is incomplete, and WSDL2Java is telling you so. You have an ELEMENT named OMOBJ. But you don't have a TYPE named OMOBJ. Both the element OMOBJ and the messages refer to type OMOBJ, but that type doesn't exist.

Russell Butek
[EMAIL PROTECTED]

Please respond to [EMAIL PROTECTED]

To: [EMAIL PROTECTED]
cc:
Subject: wsdl2java io.exception problem



We are currently using axis to implement mathematical web services.
In our last example, I have installed a service for Symbolic Integration at:
http://perseus.risc.uni-linz.ac.at:8080/axis/services/SymbolicIntegration?wsdl

We can use the service by a hand-written client however trying to
generate the java classes automatically using wsdl2java yields the
following error.

java.io.IOException: Type http://www.openmath.org/OpenMath:OMOBJ is
referenced but not defined.

at
org.apache.axis.wsdl.toJava.SymbolTable.checkForUndefined(SymbolTable.jav
a:405)

at
org.apache.axis.wsdl.toJava.SymbolTable.add(SymbolTable.java:331)

        at org.apache.axis.wsdl.toJava.Emitter.emit(Emitter.java:188)
        at org.apache.axis.wsdl.toJava.Emitter.emit(Emitter.java:155)
        at
org.apache.axis.wsdl.WSDL2Java$WSDLRunnable.run(WSDL2Java.java:725)
at java.lang.Thread.run(Thread.java:484)



I have also tried to manually rewrite the wsdl description by importing
the OpenMath schema (see attachment) and I get again:

java.io.IOException: Type http://www.openmath.org/OpenMath:OMSTR is
referenced but not defined.

at
org.apache.axis.wsdl.toJava.SymbolTable.checkForUndefined(SymbolTable.java:405)

at
org.apache.axis.wsdl.toJava.SymbolTable.add(SymbolTable.java:331)
        at org.apache.axis.wsdl.toJava.Emitter.emit(Emitter.java:188)
        at org.apache.axis.wsdl.toJava.Emitter.emit(Emitter.java:155)
        at
org.apache.axis.wsdl.WSDL2Java$WSDLRunnable.run(WSDL2Java.java:725)
at java.lang.Thread.run(Thread.java:484)




Any hint?

Thank you
Olga






--
--
Olga Caprotti         [EMAIL PROTECTED]
RISC-Linz, Johannes Kepler University, A-4040 Linz




<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions

targetNamespace="http://localhost:8080/axis/services/SymbolicIntegration"
xmlns="
http://schemas.xmlsoap.org/wsdl/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:impl="
http://localhost:8080/axis/services/SymbolicIntegration-impl"
xmlns:intf="http://localhost:8080/axis/services/SymbolicIntegration"
xmlns:tns1="
http://www.openmath.org/OpenMath"
xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="
http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema">


<wsdl:types>

<xsd:schema   xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="
http://www.openmath.org/OpenMath">


<xsd:element name="tns1:OMS">
<xsd:complexType>
<xsd:attribute name="name" type="tns1:omSymbname" use="required"/>
<xsd:attribute name="cd" type="tns1:omCdname" use="required"/>
</xsd:complexType>
</xsd:element>


<xsd:complexType name="tns1:OMSymbolType">
<xsd:attribute name="name" type="tns1:omSymbname" use="required"/>
<xsd:attribute name="cd" type="tns1:omCdname" use="required"/>
</xsd:complexType>


<xsd:simpleType name="tns1:omSymbname">
<xsd:restriction  base="xsd:string">
<xsd:pattern value="[A-Za-z][A-Za-z0-9_]*" />
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="tns1:omCdname">
<xsd:restriction  base="xsd:string">
<xsd:pattern value="[a-z][a-z0-9_]*"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:element name="tns1:OMV" >
<xsd:complexType>
<xsd:attribute name="name" type="tns1:omVariable" use="required" />
</xsd:complexType>
</xsd:element>

<xsd:simpleType name="tns1:omVariable">
<xsd:restriction  base="xsd:string">
<xsd:pattern value="([A-Za-z0-9+=(),-\./:?!#$%*;@\[\]\^_`{|}])+"/>
</xsd:restriction>
</xsd:simpleType>


<xsd:element name="tns1:OMI" type="tns1:omInteger" />

<!-- should derive from int not string,  -->
<xsd:simpleType name="omInteger" >
<xsd:restriction base="xsd:string">
<xsd:pattern value="(-\s?)?[0-9]+(\s[0-9]+)* ?" /> <xsd:pattern value="(-\s?)?x\s?[0-9A-F]+(\s[0-9A-F]+)*" />
</xsd:restriction>
</xsd:simpleType>

<!-- should derive from double not string,
and if possible require exactly one of
the hex and dec attributes

-->


<xsd:element name="tns1:OMB" type="xsd:base64Binary" />

<xsd:simpleType name="tns1:omDecFloat" >
<xsd:restriction base="xsd:string">
<xsd:pattern value="(-?)([0-9]+)?(\.[0-9]+)?(e([+-]?)[0-9]+)?" />
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="tns1:omHexFloat">
<xsd:restriction base="xsd:string">
<xsd:pattern value="(-?)([0-9A-F]+)?(.[0-9A-F]+)?(e(-?)[0-9A-F]+)?" />
</xsd:restriction>
</xsd:simpleType>

<xsd:element name="tns1:OMF" type="tns1:OMFloat"/>

<xsd:complexType name="tns1:OMFloat">
<xsd:attribute name="dec" type="tns1:omDecFloat" use="optional" />
<xsd:attribute name="hex" type="tns1:omHexFloat" use="optional" />
</xsd:complexType>


<xsd:element name="tns1:OMSTR" type="xsd:string"/>

<xsd:group  name="tns1:omElement" >
<xsd:choice>
<xsd:element ref="tns1:OMS"/>
<xsd:element ref="tns1:OMV"/>
<xsd:element ref="tns1:OMI"/>
<xsd:element ref="tns1:OMB"/>
<xsd:element ref="tns1:OMSTR"/>
<xsd:element ref="tns1:OMF"/>
<xsd:element ref="tns1:OMA"/>
<xsd:element ref="tns1:OMBIND"/>
<xsd:element ref="tns1:OME"/>
<xsd:element ref="tns1:OMATTR"/>
</xsd:choice>
</xsd:group>


<xsd:element name="tns1:OMA" type="tns1:OMApplication"/>

<xsd:complexType name="tns1:OMApplication">
<xsd:group ref="tns1:omElement"  maxOccurs="unbounded"/>
</xsd:complexType>



<xsd:element name="tns1:OMBIND">
<xsd:complexType>
<xsd:sequence>
<xsd:group ref="tns1:omElement" />
<xsd:element ref="tns1:OMBVAR" />
<xsd:group ref="tns1:omElement"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>


<!-- if possible arrange that the OMATTR branch must eventually end in an OMV -->
<xsd:element name="tns1:OMBVAR">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element ref="tns1:OMV"/>
<xsd:element ref="tns1:OMATTR"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>



<xsd:element name="tns1:OME">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="tns1:OMS"/>
<xsd:group ref="tns1:omElement"  minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>



<xsd:element name="tns1:OMATTR">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="tns1:OMATP"/>
<xsd:group ref="tns1:omElement"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>


<xsd:element name="tns1:OMATP">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:element ref="tns1:OMS"/>
<xsd:group ref="tns1:omElement"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>



<xsd:element name="tns1:OMOBJ" type="tns1:OMOBJType"/>

<xsd:complexType name="tns1:OMOBJType">
<xsd:group ref="tns1:omElement" maxOccurs="unbounded"/>
</xsd:complexType>


</xsd:schema>




</wsdl:types>



<wsdl:message name="DefIntResponse">
<wsdl:part name="return" type="xsd:string"/>
    </wsdl:message>
    <wsdl:message name="DefIntRequest">

    <wsdl:part name="in0" type="tns1:OMOBJType"/>
    <wsdl:part name="in1" type="tns1:omFloat"/>
    <wsdl:part name="in2" type="tns1:omFloat"/>

    </wsdl:message>
    <wsdl:message name="IndefIntRequest">

    <wsdl:part name="in0" type="tns1:OMOBJType"/>
    </wsdl:message>
    <wsdl:message name="IndefIntResponse">

    <wsdl:part name="return" type="xsd:string"/>
    </wsdl:message>
    <wsdl:portType name="Integrator">

    <wsdl:operation name="IndefInt" parameterOrder="in0">
    <wsdl:input message="intf:IndefIntRequest"/>
    <wsdl:output message="intf:IndefIntResponse"/>

    </wsdl:operation>
    <wsdl:operation name="DefInt" parameterOrder="in0 in1 in2">
      <wsdl:input message="intf:DefIntRequest"/>
      <wsdl:output message="intf:DefIntResponse"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="SymbolicIntegrationSoapBinding" type="intf:Integrator">

    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="IndefInt">
    </wsdl:operation>
    <wsdl:operation name="DefInt">
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="IntegratorService">

    <wsdl:port binding="intf:SymbolicIntegrationSoapBinding" name="SymbolicIntegration">
    <wsdlsoap:address location="
    http://localhost:8080/axis/services/SymbolicIntegration"/>
    </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

Reply via email to