Solved

"Unable to import binding" error

Posted on 2011-02-11
3
944 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
New Relic recently released its Synthetics product that allows for the creation of performance monitors that periodically test a site's performance. If you wish to test an interactive workflow New Relic employs Selenium WebDriverJS to run those test…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

929 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now