Solved

"Unable to import binding" error

Posted on 2011-02-11
3
951 Views
Last Modified: 2013-11-18
I need help solving an error using wsdl.exe under Visual Studio 2008. The wsdl and xsd files are from a Java implementation and are in production use with that Java code.

The error I'm getting is:
Error: Unable to import binding 'UserAccountServiceHttpBinding' from namespace 'http://useraccount.test.com/v1_0'.
  - Unable to import operation 'authenticate'.
  - The element 'http://useraccount.test.com/api/v1_0:authenticateRequest' is missing.

However, an element entry does exist for authenticateRequest in the xsd file.

Any suggestions would be greatly appreciated.

What I hope is relevant code is below. (Apologies in advance - I cannot post the entire wsdl file because it's NDA. So I'll post what I can.)

top of xsd file
<?xml version="1.0" encoding="utf-8" ?>
<schema xmlns:tns="http://useraccount.test.com/api/v1_0"
	xmlns:common="http://common.test.com/v1_0"
	xmlns:commonAPI="http://common.test.com/api/v1_0"
	xmlns:model="http://useraccount.test.com/v1_0"
	elementFormDefault="qualified"
	targetNamespace="http://useraccount.test.com/api/v1_0"
	xmlns="http://www.w3.org/2001/XMLSchema">
	<import schemaLocation="common_api_1.0.xsd"
		namespace="http://common.test.com/api/v1_0" />
	<import schemaLocation="common_1.0.xsd"
		namespace="http://common.test.com/v1_0" />
	<import schemaLocation="useraccount_service_1.0.xsd"
		namespace="http://useraccount.test.com/v1_0" />
	<!--service api defination-->
	<element name="token" type="common:OID" />
	<element name="authenticateRequest" type="tns:AuthenticateRequest" />
	<element name="authenticateResponse" type="tns:AuthenticateResponse" />
	<element name="impersonateRequest" type="string" />
	<element name="impersonateResponse" type="string" />
	<element name="validateTokenRequest" type="tns:ValidateTokenRequest" />
	<element name="validateTokenResponse" type="tns:ValidateTokenResponse" />

Open in new window


excerpt from wsdl file

	<wsdl:message name="authenticateRequest">
		<wsdl:part name="authenticateRequest" element="api:authenticateRequest" />
	</wsdl:message>
	<wsdl:message name="authenticateResponse">
		<wsdl:part name="authenticateResponse" element="api:authenticateResponse" />
	</wsdl:message>

[snip]

	<wsdl:portType name="UserAccountServicePortType">
		<wsdl:operation name="authenticate">
			<wsdl:documentation>
				This API is used ...
			</wsdl:documentation>
			<wsdl:input name="authenticateRequest" message="tns:AuthenticateRequest">
			</wsdl:input>
			<wsdl:output name="authenticateResponse" message="tns:AuthenticateResponse">
			</wsdl:output>
			<wsdl:fault name="serviceFaultInfoException" message="tns:serviceFaultInfoException">
			</wsdl:fault>
		</wsdl:operation>

Open in new window

0
Comment
Question by:JimBeveridge
  • 2
3 Comments
 
LVL 20

Expert Comment

by:ChristoferDutz
ID: 34896346
I would assume that there is an element authenticateRequest but it is in the wrong namespace.
0
 
LVL 7

Accepted Solution

by:
JimBeveridge earned 0 total points
ID: 34953422
Problem was caused by nested xsd files silently failing to load/validate.
0
 
LVL 7

Author Closing Comment

by:JimBeveridge
ID: 34990803
Found my own answer to the problem.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question