Soap Problem

I have created a web service using the MS Soap toolkit.

This worked fine on my local machine when I was developing it but now I have moved it to another machine it won't work.  I have unregistered the dll and created the wsdl files etc with the soap toolkit many times but no luck.

The error I am getting is:

Client error '80020009'

WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057 - WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: System error: -2146697208. HRESULT=0x1

/WebServices/BankWizard/Default.asp, line 28

My code is as follows:

    Response.Buffer = True
    Response.ContentType = "text/html"
    Dim objBW
    Dim strSortCode
    Dim strAccountNumber
    Dim strSearchText1
    Dim strSearchText2
    Dim strSearchText3
    Dim strMaxRecords
    strSortCode = Request.Form("SortCode")
    strAccountNumber = Request.Form("AccountNumber")
    strSearchText1 = Request.Form("SearchText1")
    strSearchText2 = Request.Form("SearchText2")
    strSearchText3 = Request.Form("SearchText3")
    strMaxRecords = Request.Form("MaxRecords")
    Set objSoapClient = Server.CreateObject("MSSOAP.SoapClient")
    Set objXML = Server.CreateObject("Microsoft.XMLDom")
    objSoapClient.ClientProperty("ServerHTTPRequest") = True
    objSoapClient.mssoapinit "", "BankWizardService", "bw23SoapPort"
    If Request.Form("Action") = "GetBranch" Then
      Response.Write objSoapClient.Get_Branch (strSortCode, strAccountNumber)      
    End If    
    If Request.Form("Action") = "Search" Then
      Response.Write objSoapClient.xUKSearch (strSearchText1, strSearchText2, strSearchText3, strMaxRecords)      
    End If    

Any ideas?


LVL 19
Who is Participating?
BigRatConnect With a Mentor Commented:
I have learnt with MS to always reboot after changing any settings - whether they advise it or not.

I don't think that .NET will give you the operational flexibility which one desires. By that I mean fewer problems regarding parameters, dlls and the like. It is a FAR more complex technology than DCOM - and that is bad enough. Still I'm glad it now works.
if you want to launch a service via the Internet you can not use that URL:

10.* is an internal URL in your LAN! You have to make a URL whitch is able to be reached via the internet

daveamourAuthor Commented:
Yes I know this, this is the address I am using on a development server.


Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

It fails to access the resource, can you access the resourse by loading it into your browser?
daveamourAuthor Commented:
Ok this is working now. I believe it is some kind of timeout if the dll takes more than a split second to be instantiated.  Any thoughts ont his?


None wahtsoever? This is a curious thing. You are using IIS and the dll gets loaded only once. I'd admit there could be some time involved but IIS should not time out/the SOAP HTTP object should not give up (delete that inapplicable) so quickly. Are you certain that this isn't some security thing and you have just changed folder access inadvertently (or serendipitenteously)?

(Whiskers twitching) Rat.
daveamourAuthor Commented:
I didn't change anything, I think maybe the server got rebooted though.

I've since noticed that changes to a DLL upon which a web service depends can often need the DLL reregistering and the WWW Serivce restarting.

I think the whole architecture is a bit shaky to be honest, roll on .net!
daveamourAuthor Commented:
Ok cheers, well points to you in good will.


Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.