Hi, I implemented a webservice which works fine. The WSDL was defined by a third party so I shouldn't change it. One problem occures however, when I try to get the WSDL in the Browser with http://localhost:8080/axis/services/SubjectList?wsdl. The error message is:
---------------------------- error messsage-------------------------- Sorry, something seems to have gone wrong... here are the details: Fault - makeTypeElement() was told to create a type "{http://www.tmf.org/services/types}>RequestSubjectID", with no containing element AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultSubcode: faultString: makeTypeElement() was told to create a type "{http://www.tmf.org/services/types}>RequestSubjectID", with no containing element faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:vpid_dispatcher.local ---------------------------- end error messsage-------------------------- I found in other mails that this happens if the WSDL contains something like shown below, where an element directly contains a complex type: ---------------------------------------- WSDL extract------------------ <xs:element name="RequestSubjectID"> <xs:complexType> <xs:sequence> <xs:element ref="SubjectDataRef" minOccurs="0" maxOccurs="1" /> </xs:sequence> <xs:attribute name="Value" type="xs:string" use="optional" /> <xs:attribute name="Sureness" type="xs:string" use="optional" /> <xs:attribute name="ForceCreation" type="xs:boolean" use="optional" /> </xs:complexType> </xs:element> --------------------------------------- end WSDL extract-------------- So I change the WSDL (what I am not supposed to do) to the following WSDL where I defined an element instead of a complexType: ---------------------------------------new WSDL---------------------------- <xs:complexType name="RequestSubjectIDType"> <xs:sequence> <xs:element ref="SubjectDataRef" minOccurs="0" maxOccurs="1" /> </xs:sequence> <xs:attribute name="Value" type="xs:string" use="optional" /> <xs:attribute name="Sureness" type="xs:string" use="optional" /> <xs:attribute name="ForceCreation" type="xs:boolean" use="optional" /> </xs:complexType> <xs:element name="RequestSubjectID"> <xs:element name="RequestSubjectIDType" type="RequestSubjectIDType" /> </xs:element> ---------------------------------------end new WSDL---------------------------- Now the WSDL shows but the types for most of the paramters are set to xsd:any which is not wanted and also not working (I get an error that the deserializer for type any was not found). Is there a way to get the WSDL in the Browser without changing the WSDL? Please help, I have already spent days finding a way... Thanks and regards Jutta ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193