0

The company I work for does work with outside vendors for our software. I have been given the task of creating my first windows service to communicate with the vendors web service. The vendor gave us a copy of their WSDL and 39 XSD files. I convert the XSD files to class files with no problems. However, when I try to convert the WSDL, I get the following errors:

When using wsdl.exe

Error: Unable to import binding 'BasicHttpBinding_ITrakManService' from namespace 'http://tempuri.org/'. - Unable to import operation 'AddRedactedDocument'. - The element 'http://tempuri.org/:AddRedactedDocument' is missing.

When using svcutil.exe

Error: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: Schema with target namespace 'http://tempuri.org/' could not be found.

XPath to Error Source:

//wsdl:definitions[@targetNamespace='http://tempuri.org']/wsdl:portType[@name='ITrakManService'] Error: Cannot import wsdl:binding Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on. XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ITrakManService']

XPath to Error Source:

//wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_ITrakManService']

Generating files... Warning: No code was generated. If you were trying to generate a client, this could be because the metadata documents did not contain any valid contracts or services or because all contracts/services were discovered to exist in reference assemblies. Verify that you passed all the metadata documents to the tool.

I saw a few people reference changing the imports section of the wsdl to includes, but none of the imports are referencing explicit XSD's, for reference this is the import section.

-<wsdl:types>
-<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import namespace="http://tempuri.org/" schemaLocation="http://vcp01xred-grd.clerkdev.clerk.local:8090/TrakManWebService.svc?xsd=xsd0"/>
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" schemaLocation="http://vcp01xred-grd.clerkdev.clerk.local:8090/TrakManWebService.svc?xsd=xsd1"/>
<xsd:import namespace="http://schemas.datacontract.org/2004/07/TrakManBusiness" schemaLocation="http://vcp01xred-grd.clerkdev.clerk.local:8090/TrakManWebService.svc?xsd=xsd2"/>
<xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" schemaLocation="http://vcp01xred-grd.clerkdev.clerk.local:8090/TrakManWebService.svc?xsd=xsd3"/>
</xsd:schema>
</wsdl:types>

Sorry if this is a stupid question for you WSDL experts, this is my attempt at doing one. I also have tried this with the XSD files in the same directory as the WSDL and the errors were the same.

JP13
  • 109
  • 8

1 Answers1

0

Have been through this many times where if there are multiple xsds , wsdl to java conversions (or others fail ) . One quick-fix solution which has worked for me is , combining all the XSDs to one XSD and then writing down the WSDL , quite a painful task but might work . Imports fail when there are circular and deeper imports .

sRiRaJ mISHrA
  • 86
  • 1
  • 7