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

Reply via email to