JimBeveridge
asked on
"Unable to import binding" error
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 'UserAccountServiceHttpBin ding' 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
excerpt from wsdl file
The error I'm getting is:
Error: Unable to import binding 'UserAccountServiceHttpBin
- 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" />
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>
I would assume that there is an element authenticateRequest but it is in the wrong namespace.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Found my own answer to the problem.