Link to home
Start Free TrialLog in
Avatar of daveamour
daveamourFlag for United Kingdom of Great Britain and Northern Ireland

asked on

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 "http://10.1.3.201/WebServices/BankWizard/WebService/BankWizardService.WSDL", "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    
       
    Response.End

Any ideas?

Cheers

Dave
Avatar of MichaelSonny
MichaelSonny

if you want to launch a service via the Internet you can not use that URL:

http://10.1.3.201/WebServices/BankWizard/WebService/BankWizardService.WSDL

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


Avatar of daveamour

ASKER

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

Thanks

Dave
It fails to access the resource, can you access the resourse by loading it into your browser?
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?

Cheers

Dave
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.
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!
ASKER CERTIFIED SOLUTION
Avatar of BigRat
BigRat
Flag of France image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Ok cheers, well points to you in good will.

Thanks

Dave