Issue Details (XML | Word | Printable)

Key: AXIS-2261
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: David
Votes: 3
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Axis

[axis-wsdl2java] java.io.IOException: The definition of {http://www.axa.be/scheduler/MonitorResponse}ProcessType results in a loop.

Created: 20/Oct/05 05:17 PM   Updated: 20/Oct/05 05:17 PM
Return to search
Component/s: WSDL processing
Affects Version/s: current (nightly)
Fix Version/s: None

Time Tracking:
Not Specified

Environment:
Windows XP SP2
Ant 1.5.4
Java 1.4.2_06


 Description  « Hide
When performing WSDL2Java on the attached wsdl file, I get the following stack trace:


[axis-wsdl2java] java.io.IOException: The definition of {http://www.axa.be/sched
uler/MonitorResponse}ProcessType results in a loop.
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.TypeEntry.updateUnde
fined(TypeEntry.java:343)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.UndefinedDelegate.up
date(UndefinedDelegate.java:73)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.UndefinedType.update
(UndefinedType.java:61)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.symbolTa
blePut(SymbolTable.java:3621)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.createTy
peFromDef(SymbolTable.java:1257)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes
(SymbolTable.java:986)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes
(SymbolTable.java:1119)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.addTypes
(SymbolTable.java:1119)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
Types(SymbolTable.java:909)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:705)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.lookForI
mports(SymbolTable.java:859)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.lookForI
mports(SymbolTable.java:865)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.lookForI
mports(SymbolTable.java:865)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.lookForI
mports(SymbolTable.java:865)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:710)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.add(Symb
olTable.java:543)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:518)
[axis-wsdl2java] at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.java:495)
[axis-wsdl2java] at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Pars
er.java:361)
[axis-wsdl2java] at java.lang.Thread.run(Thread.java:534)

Befor with a nightly version of Axis 1.2 it worked.
Now I'm using AXIS 1.3 final


The wsdl file:

<definitions xmlns:scheduler="http://www.axa.be/scheduler" xmlns:statusrequest="http://www.axa.be/scheduler/StatusRequest" xmlns:statusresponse="http://www.axa.be/scheduler/StatusResponse" xmlns:triggerrequest="http://www.axa.be/scheduler/TriggerRequest" xmlns:triggerresponse="http://www.axa.be/scheduler/TriggerResponse" xmlns:monitorrequest="http://www.axa.be/scheduler/MonitorRequest" xmlns:monitorresponse="http://www.axa.be/scheduler/MonitorResponse" xmlns:removalrequest="http://www.axa.be/scheduler/RemovalRequest" xmlns:removalresponse="http://www.axa.be/scheduler/RemovalResponse" xmlns:schedulerequest="http://www.axa.be/scheduler/ScheduleRequest" xmlns:scheduleresponse="http://www.axa.be/scheduler/ScheduleResponse" xmlns:faults="http://www.axa.be/scheduler/Faults" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.axa.be/scheduler" name="SchedulerWS">
<types>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/StatusResponse">
<xsd:import namespace="http://www.axa.be/scheduler/StatusResponse" schemaLocation="StatusResponse.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/StatusRequest">
<xsd:import namespace="http://www.axa.be/scheduler/StatusRequest" schemaLocation="StatusRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/ScheduleRequest">
<xsd:import namespace="http://www.axa.be/scheduler/ScheduleRequest" schemaLocation="ScheduleRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/ScheduleResponse">
<xsd:import namespace="http://www.axa.be/scheduler/ScheduleResponse" schemaLocation="ScheduleResponse.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/TriggerRequest">
<xsd:import namespace="http://www.axa.be/scheduler/TriggerRequest" schemaLocation="TriggerRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/TriggerResponse">
<xsd:import namespace="http://www.axa.be/scheduler/TriggerResponse" schemaLocation="TriggerResponse.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/MonitorRequest">
<xsd:import namespace="http://www.axa.be/scheduler/MonitorRequest" schemaLocation="MonitorRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/MonitorResponse">
<xsd:import namespace="http://www.axa.be/scheduler/MonitorResponse" schemaLocation="MonitorResponse.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/RemovalRequest">
<xsd:import namespace="http://www.axa.be/scheduler/RemovalRequest" schemaLocation="RemovalRequest.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/RemovalResponse">
<xsd:import namespace="http://www.axa.be/scheduler/RemovalResponse" schemaLocation="RemovalResponse.xsd"/>
</xsd:schema>
<xsd:schema targetNamespace="http://www.axa.be/scheduler/Faults">
<xsd:import namespace="http://www.axa.be/scheduler/Faults" schemaLocation="Faults.xsd"/>
</xsd:schema>
</types>
<message name="StatusRequest">
<part name="statusRequest" element="statusrequest:StatusRequest"/>
</message>
<message name="StatusResponse">
<part name="statusResponse" element="statusresponse:SchedulerStatus"/>
</message>
<message name="ScheduleRequest">
<part name="scheduleRequest" element="schedulerequest:processScheduling"/>
</message>
<message name="ScheduleResponse">
<part name="scheduleResponse" element="scheduleresponse:ScheduleResponse"/>
</message>
<message name="TriggerRequest">
<part name="triggerRequest" element="triggerrequest:ProcessTrigger"/>
</message>
<message name="TriggerResponse">
<part name="triggerResponse" element="triggerresponse:TriggerResponse"/>
</message>
<message name="MonitorRequest">
<part name="monitorRequest" element="monitorrequest:MonitorRequest"/>
</message>
<message name="MonitorResponse">
<part name="MonitorResponse" element="monitorresponse:RootProcesses"/>
</message>
<message name="RemovalRequest">
<part name="removalRequest" element="removalrequest:RemovalRequest"/>
</message>
<message name="RemovalResponse">
<part name="RemovalResponse" element="removalresponse:RemovalResponse"/>
</message>
<message name="ScheduleFault">
<part name="scheduleFault" element="faults:SchedulingFault"/>
</message>
<message name="StatusFault">
<part name="statusFault" element="faults:StatusFault"/>
</message>
<message name="TriggerFault">
<part name="triggerFault" element="faults:TriggerFault"/>
</message>
<message name="MonitorFault">
<part name="monitorFault" element="faults:MonitorFault"/>
</message>
<message name="RemovalFault">
<part name="removalFault" element="faults:RemovalFault"/>
</message>
<portType name="Scheduler">
<operation name="getStatus">
<input message="scheduler:StatusRequest"/>
<output message="scheduler:StatusResponse"/>
<fault name="StatusFault" message="scheduler:StatusFault"/>
</operation>
<operation name="schedule">
<input message="scheduler:ScheduleRequest"/>
<output message="scheduler:ScheduleResponse"/>
<fault name="ScheduleFault" message="scheduler:ScheduleFault"/>
</operation>
<operation name="trigger">
<input message="scheduler:TriggerRequest"/>
<output message="scheduler:TriggerResponse"/>
<fault name="TriggerFault" message="scheduler:TriggerFault"/>
</operation>
<operation name="monitor">
<input message="scheduler:MonitorRequest"/>
<output message="scheduler:MonitorResponse"/>
<fault name="MonitorFault" message="scheduler:MonitorFault"/>
</operation>
<operation name="remove">
<input message="scheduler:RemovalRequest"/>
<output message="scheduler:RemovalResponse"/>
<fault name="RemovalFault" message="scheduler:RemovalFault"/>
</operation>
</portType>
<binding name="Scheduler_Binding" type="scheduler:Scheduler">
<soapbind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getStatus">
<soapbind:operation style="document"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
<fault name="StatusFault">
<soapbind:fault name="StatusFault" use="literal"/>
</fault>
</operation>
<operation name="schedule">
<soapbind:operation style="document"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
<fault name="ScheduleFault">
<soapbind:fault name="ScheduleFault" use="literal"/>
</fault>
</operation>
<operation name="trigger">
<soapbind:operation style="document"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
<fault name="TriggerFault">
<soapbind:fault name="TriggerFault" use="literal"/>
</fault>
</operation>
<operation name="monitor">
<soapbind:operation style="document"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
<fault name="MonitorFault">
<soapbind:fault name="MonitorFault" use="literal"/>
</fault>
</operation>
<operation name="remove">
<soapbind:operation style="document"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
<fault name="RemovalFault">
<soapbind:fault name="RemovalFault" use="literal"/>
</fault>
</operation>
</binding>
<service name="ScheduleService">
<port name="Scheduler" binding="scheduler:Scheduler_Binding">
<soapbind:address location="http://localhost:8080/schedulerwebservice/Scheduler"/>
</port>
</service>
</definitions>


The Schema:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.axa.be/scheduler/MonitorResponse" xmlns:monitorresponse="http://www.axa.be/scheduler/MonitorResponse" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="ProcessType">
<xs:sequence>
<xs:element name="Process" type="monitorresponse:ProcessType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required"/>
<xs:attribute name="running" type="xs:boolean" use="required"/>
<xs:attribute name="startType" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="always"/>
<xs:enumeration value="onFail"/>
<xs:enumeration value="onSuccess"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:element name="RootProcesses">
<xs:complexType>
<xs:sequence>
<xs:element name="Process" type="monitorresponse:ProcessType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
No work has yet been logged on this issue.