I'm having a problem with generating a proxy class for the Amazon Web Service
for Merchant Integration.
Per their instructions I installed WSE 2.0 and referenced the dime version
of their web service.
Using VS 2003 I end up with a missing location property for their
ReferencedBinary object.
When I use the command line tool wsewsdl2.exe I get the following message.
The section of xml that seems to be causing the problem is below the error
message.
C:\Program Files\Microsoft WSE\v2.0\Tools\Wsdl>wsewsdl2
merchant-interface-dime.
wsdl test.cs CS
Microsoft (R) WSDL to SoapClient Utility
[Microsoft (R) Web Services Enhancements, Version 2.0]
Copyright (C) Microsoft Corporation 1998-2004. All rights reserved.
SchemaValidation Warning! Details: Namespace
'http://schemas.xmlsoap.org/ws/2002
/04/reference/' is not available to be referenced in this schema.
SchemaValidation Error! Details: Undefined complexType
'http://www.w3.org/2001/X
MLSchema:base64Binary' is used as a base for complex type restriction".
An error occurred processing this WSDL. More information:
System.Exception: Schema Validation failed.
at ClientGen.Xsd.Compile(XmlSchemas userSchemas)
at ClientGen.Xsd.ImportSchemasAsClasses(String outputdir, ICodeGenerator
code
Gen, String fileExtension, XmlSchemas schemas, String ns, String uri, IList
elem
ents, StreamWriter writer)
at ClientGen.ClientGen.WriteSchemaClasses(ServiceDesc ription desc,
StreamWrit
er writer)
at ClientGen.ClientGen.GenerateCode(ServiceDescriptio n desc, String
outputFil
e, XmlSchemas schemas)
at ClientGen.ClientGen.GenerateCode(String descriptionFile, String
outputFile
, XmlSchemas schemas)
at ClientGen.Class1.Main(String[] arguments)
C:\Program Files\Microsoft WSE\v2.0\Tools\Wsdl>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://systinet.com/attachments"
xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/"
xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/"
xmlns:tns="http://systinet.com/attachments">
<xsd:complexType name="ReferencedBinary">
<xsd:simpleContent>
<xsd:restriction base="xsd:base64Binary">
<xsd:annotation>
<xsd:appinfo>
<content:mediaType
value="application/octetstream"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:attribute ref="ref:location" use="optional"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>