Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 784
  • Last Modified:

Encountering errors while creating VB .Net Class from WSDL File

Web Service Call from Studio 2008 Project Issue

I am developing a Visual Studio 2008 (VB) based app which needs to access some customer data by calling Web Service. This Web Server is behind Firewall, therefore my development workstation based development environment can not directly access the definition file (WSDL File). Therefore I cannot select "Add Web Reference" option, specify the URL and be able to call related methods.

Therefore, I tried to generate Proxy Class based code by using WSDL.exe utility. Using Visual Studio 2008 Command Prompt, I typed “WSDL.exe /l:VB RepositoryService.WSDL” command. I am getting the following error message:

Error: Cannot find definition for http://service.repository.ivr.abc.com:RepositoryService.  Service Description with namespace http://service.repository.ivr.abc.com is missing.

It appears that this WSDL file is making reference to the below listed “http://service.repository.ivr.abc.com:RepositoryService” URL and it is not accessible from my development workstation, therefore the above error is being generated.

Is this the case? If yes then how do I get around these issues?

Any suggestions would be greatly appreciated.

RepositoryService.WSDL File’s contents are pasted below:

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://service.repository.ivr.abc.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.account.ivr.abc.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="RepositoryServiceBusImplService" targetNamespace="http://service.account.ivr.abc.com">
  <import location="http://etsmysqlws.lb.abc.com:8080/IVRRepository/RepositoryService?wsdl=wsdl1" namespace="http://service.repository.ivr.abc.com">
    </import>
  <binding name="RepositoryServiceBusImplPortBinding" type="ns1:RepositoryService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getCallDetails">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
      <fault name="RepositoryServiceException">
        <soap:fault name="RepositoryServiceException" use="literal"/>
      </fault>
    </operation>
    <operation name="saveCallDetails">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
      <fault name="RepositoryServiceException">
        <soap:fault name="RepositoryServiceException" use="literal"/>
      </fault>
    </operation>
  </binding>
  <service name="RepositoryServiceBusImplService">
    <port binding="tns:RepositoryServiceBusImplPortBinding" name="RepositoryServiceBusImplPort">
      <soap:address location="http://etsmysqlws.lb.abc.com:8080/IVRRepository/RepositoryService"/>
    </port>
  </service>
</definitions>

0
RobertFromSecretWeapons
Asked:
RobertFromSecretWeapons
1 Solution
 
AngryBinaryCommented:
I believe this is your problem:

<import location="http://etsmysqlws.lb.abc.com:8080/IVRRepository/RepositoryService?wsdl=wsdl1" namespace="http://service.repository.ivr.abc.com"></import>

This is saying you need to import another WSDL from the url "http://etsmysqlws.lb.abc.com:8080/IVRRepository/RepositoryService?wsdl=wsdl1" to get the definition of a Web Service entity (in this case, "RepositoryService"), and as you said you don't have access to this server behind your firewall.

If you can manually copy this file to your machine, you can change the location URL in the import tag to the file's location on your file system.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now