Hi,

Does anyone know why the WSDL used to feed Axis' WSDL2Java' differs from
the WSDL returned by the final online web-service?

I begin with a piece like -

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:CertificateValidator.FrontDoor"
xmlns:impl="urn:CertificateValidator.FrontDoor"
xmlns:intf="urn:CertificateValidator.FrontDoor"
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
<!--WSDL created by Apache Axis version: 1.2alpha
Built on Dec 01, 2003 (04:33:24 EST)-->
 <wsdl:types>
  <schema xmlns="http://www.w3.org/2001/XMLSchema";
targetNamespace="urn:CertificateValidator.FrontDoor">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="CertificateValidationResult">
    <sequence>
     <element name="UID" nillable="true" type="xsd:string"/>
     <element name="certificateValid" type="xsd:boolean"/>
     <element name="description" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="CertificateValidationException">
    <sequence>
     <element name="message" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
  </schema>
 </wsdl:types>
 ...


- but the online service returns -

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:CertificateValidator.FrontDoor"
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:impl="urn:CertificateValidator.FrontDoor"
xmlns:intf="urn:CertificateValidator.FrontDoor"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:tns1="http://www.w3.org/2003/05/soap-encoding";
xmlns:tns2="http://www.w3.org/1999/XMLSchema";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<!--WSDL created by Apache Axis version: 1.2alpha
Built on Dec 01, 2003 (04:33:24 EST)-->
 <wsdl:types>
  <schema targetNamespace="urn:CertificateValidator.FrontDoor"
xmlns="http://www.w3.org/2001/XMLSchema";>
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="CertificateValidationResult">
    <sequence>
     <element name="UID" nillable="true" type="tns1:string"/>
     <element name="certificateValid" type="xsd:boolean"/>
     <element name="description" nillable="true" type="tns1:string"/>
    </sequence>
   </complexType>
   <complexType name="CertificateValidationException">
    <sequence>
     <element name="message" nillable="true" type="tns1:string"/>
    </sequence>
   </complexType>
  </schema>
 </wsdl:types>
 ...


As you can tell, e.g. the "UID" element is no longer of type
"xsd:string" - for some real odd reason. This is bad, because .NET's
'WSDL' can handle the first, not the second - and I need to call the
service from .NET. The service implemented matches the second, not the
first.

I get the first piece of WSDL by running 'Java2WSDL'. This first piece
is supposed to be fixed. This WSDL is fed into 'WSDL2Java' - which I
compile and deploy - and from which I get a final service - and an
online query to the service gives the second piece of WSDL.

I have another - "simpler" - service with which there are no problems.
It does not have any 'string' in it.

I do this with Axis 1.2Alpha and VS .NET 2003/1.1.
I have build my web-services into my own WAR-file, which I run on a TC
5.0.27.

Anyone have any clues, which can help me to solve this?

Regards,
Morten Sabroe Mortensen

Reply via email to