N
Nick Locke
Hello, a very newbie here, so please don't be too harsh! I have found my way
through to using Altova XMLSpy to create what it says is a valid WSDL file
(including picking up the Types from an external file as I shall need to
reuse them). XMLSpy is happy, but when I try to push the WSDL through the MS
WSDL.EXE tool, it has kittens. I have added the Lecture from WSDL.EXE first
and then my WSDL. I would welcome any help - and apologies for the length of
the post!
--------------------------------------------------------------------------------
C:\>wsdl /server /out:c:\temp c:\temp.wsdl
Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
Warning: This web reference does not conform to WS-I Basic Profile v1.1.
R2204: A document-literal binding in a DESCRIPTION MUST refer, in each of
its soapbind:body element(s), only to wsdl
art element(s) that have been
defined using the element attribute.
- Part 'VehicleDetails' of message 'AddRequest' from service description
with targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Part 'StolenVehicleId' of message 'AddResponse' from service description
with targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Part 'ServerTime' of message 'AddResponse' from service description with
targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
R2210: If a document-literal binding in a DESCRIPTION does not specify the
parts attribute on a soapbind:body element, the corresponding abstract
wsdl:message MUST define zero or one wsdl
arts.
- Operation 'StolenVehicleAdd' on binding 'StolenBinding' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
For more details on the WS-I Basic Profile v1.1, see the specificationat
http://www.ws-i.org/Profiles/BasicProfile-1.1.html.
Error: Unable to import binding 'StolenBinding' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Unable to import operation 'StolenVehicleAdd'.
- The operation binding 'StolenVehicleAdd' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle' had invalid syntax.
Missing soap
peration binding.
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Nick
Locke (N/A) -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:y="http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle"
xmlns:t="http://interfaces.xxxx-yyyyy.org.uk/types"
xmlns:st="http://interfaces.xxxx-yyyyy.org.uk/simple_types"
targetNamespace="http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://interfaces.xxxx-yyyyy.org.uk/types" targetNamespace="empty"
elementFormDefault="qualified">
<xsd:import namespace="http://interfaces.xxxx-yyyyy.org.uk/types"
schemaLocation="C:\Documents and Settings\NickLocke\My Documents\Altova
Projects\Types.xsd"/>
</xsd:schema>
</types>
<message name="AddRequest">
<part name="VehicleDetails" type="t:Vehicle"/>
</message>
<message name="AddResponse">
<part name="StolenVehicleId" type="st:VehicleId_Type"/>
<part name="ServerTime" type="st:Timestamp_Type"/>
</message>
<portType name="SOAPport">
<operation name="StolenVehicleAdd">
<input message="y:AddRequest"/>
<output message="y:AddResponse"/>
</operation>
</portType>
<binding name="StolenBinding" type="y:SOAPport">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="StolenVehicleAdd">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StolenVehicle">
<port name="StolenVehiclePort" binding="y:StolenBinding">
<soap:address location="http://interfaces.xxxx-yyyyy.org.uk"/>
</port>
</service>
</definitions>
through to using Altova XMLSpy to create what it says is a valid WSDL file
(including picking up the Types from an external file as I shall need to
reuse them). XMLSpy is happy, but when I try to push the WSDL through the MS
WSDL.EXE tool, it has kittens. I have added the Lecture from WSDL.EXE first
and then my WSDL. I would welcome any help - and apologies for the length of
the post!
--------------------------------------------------------------------------------
C:\>wsdl /server /out:c:\temp c:\temp.wsdl
Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
Warning: This web reference does not conform to WS-I Basic Profile v1.1.
R2204: A document-literal binding in a DESCRIPTION MUST refer, in each of
its soapbind:body element(s), only to wsdl
defined using the element attribute.
- Part 'VehicleDetails' of message 'AddRequest' from service description
with targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Part 'StolenVehicleId' of message 'AddResponse' from service description
with targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Part 'ServerTime' of message 'AddResponse' from service description with
targetNamespace='http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
R2210: If a document-literal binding in a DESCRIPTION does not specify the
parts attribute on a soapbind:body element, the corresponding abstract
wsdl:message MUST define zero or one wsdl
- Operation 'StolenVehicleAdd' on binding 'StolenBinding' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
For more details on the WS-I Basic Profile v1.1, see the specificationat
http://www.ws-i.org/Profiles/BasicProfile-1.1.html.
Error: Unable to import binding 'StolenBinding' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle'.
- Unable to import operation 'StolenVehicleAdd'.
- The operation binding 'StolenVehicleAdd' from namespace
'http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle' had invalid syntax.
Missing soap
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp2 (http://www.altova.com) by Nick
Locke (N/A) -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:y="http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle"
xmlns:t="http://interfaces.xxxx-yyyyy.org.uk/types"
xmlns:st="http://interfaces.xxxx-yyyyy.org.uk/simple_types"
targetNamespace="http://interfaces.xxxx-yyyyy.org.uk/StolenVehicle">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://interfaces.xxxx-yyyyy.org.uk/types" targetNamespace="empty"
elementFormDefault="qualified">
<xsd:import namespace="http://interfaces.xxxx-yyyyy.org.uk/types"
schemaLocation="C:\Documents and Settings\NickLocke\My Documents\Altova
Projects\Types.xsd"/>
</xsd:schema>
</types>
<message name="AddRequest">
<part name="VehicleDetails" type="t:Vehicle"/>
</message>
<message name="AddResponse">
<part name="StolenVehicleId" type="st:VehicleId_Type"/>
<part name="ServerTime" type="st:Timestamp_Type"/>
</message>
<portType name="SOAPport">
<operation name="StolenVehicleAdd">
<input message="y:AddRequest"/>
<output message="y:AddResponse"/>
</operation>
</portType>
<binding name="StolenBinding" type="y:SOAPport">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="StolenVehicleAdd">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StolenVehicle">
<port name="StolenVehiclePort" binding="y:StolenBinding">
<soap:address location="http://interfaces.xxxx-yyyyy.org.uk"/>
</port>
</service>
</definitions>