Solved

Soap Problem

Posted on 2002-07-12
8
1,808 Views
Last Modified: 2012-06-27
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
0
Comment
Question by:daveamour
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 

Expert Comment

by:MichaelSonny
ID: 7148799
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


0
 
LVL 19

Author Comment

by:daveamour
ID: 7148988
Yes I know this, this is the address I am using on a development server.

Thanks

Dave
0
 
LVL 27

Expert Comment

by:BigRat
ID: 7154349
It fails to access the resource, can you access the resourse by loading it into your browser?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 19

Author Comment

by:daveamour
ID: 7154563
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
0
 
LVL 27

Expert Comment

by:BigRat
ID: 7154730
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.
0
 
LVL 19

Author Comment

by:daveamour
ID: 7159343
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!
0
 
LVL 27

Accepted Solution

by:
BigRat earned 50 total points
ID: 7159390
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.
0
 
LVL 19

Author Comment

by:daveamour
ID: 7159528
Ok cheers, well points to you in good will.

Thanks

Dave
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

690 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