Problem with HTTPRIO

Dear All,

We have quite a pressing problem that I hope someone can help with.

We have been informed by our credit card company the the location of the server processing the cards is changing today, and we have a week to implement it. Nice eh? Unfortunately, the week becomes 2 days I have to have 3 days off at the end of this week that I cannot cancel.

We use the THTTPRIO component to access the gateway.

Previously, we had 2 URLS - where the WSDL lives:

So, using (for example) as the WSDL location, we can then access the service and port values and set them correctly.

I just assumed that we could simply switch the old live URL for the new live URL and so the same thing, select the service and port and away we go on the new server.

But, a nightmare situation has developed - whenever I try to use the new URL and select the service, I get an 'interface not supported' error.

The new URL is (and for the WSDLLocation).

When I look at the base URLs in the a browser, the pages are the same and the definition returned from the wsdl is virtually indentical and I the differences do not look like they should cause a problem.

Help! Could someone have a look and see if they get the same problem and see if there is anything we can do to solve this as they disable the old URL a week today which means our mail order system stops processing cards right then.

High points value for this one because of the obvious need to some expert help to get this solved ASAP

And probably important also is that I am using Delphi 2007 (probably important) and Vista (probably not, but just in case).


Who is Participating?
MerijnBConnect With a Mentor Sr. Software EngineerCommented:
So strange, while testing this it started working by itself. So I could reproduce and was trying to find the problem, and suddenly it just started working, I think they changed something server side.

Can you try again? Please make sure you remove the THTTPRIO object and add it again, let me know.
MerijnBSr. Software EngineerCommented:
I did a quick search, and found this pointer, maybe it helps:

I've found that some unsupported features in remoted interfaces don't get
flagged by the compiler, but it does that the interface can't be obtained
from the invokeregistry.
This leads to "interface not supported" at the client when the RIO component
is cast to the interface.

If that's the problem, try checking for the obvious - all methods must be
There are others: indexede properties; indexed array properties;
multidimensional arrays seem to cause a problem, too.

Try cutting down on the exposed methods in the interface by commenting some
out- you can do this, and the implementation file will still compile. And
keep going until you find the problem.
trevorbAuthor Commented:
Hi MerijnB,

Thanks for the reply, really appreciate your quick help.

Okay, I am going to be perfectly honest with you now..... I have no idea where to start to fix this, even looking at your solution above.

I have worked in Delphi for many years, but this isn't my strong side by any means. Previously, I was given the URLs by the credit card company and they just worked, simple - no further changes needed. But now I am stuck. I have of course tried to contact them for help but they do not know Delphi and so I don't think I am getting any joy.

Can you please give me some help on how I can start to fix this? I honestly have no idea. I am due into hospital on Wednesday for 3 days. So I have today and tomorrow to get this fixed. I am truly panicing.


Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

MerijnBSr. Software EngineerCommented:
> Okay, I am going to be perfectly honest with you now..

Some honesty from my side: I don't have much experience with SOAP :x

Let's see if we can get somewhere together.

- I assume you get an exception, corrent?
- If yes, at what point do you get it? At startup? When you call a certain method of the WSDL object?
trevorbAuthor Commented:
Thanks again.

No, not even as far as that, no exceptions etc - I'm not even compiling it before I get the error.

I have stripped it right down to basics. I create a new application, add the HTTPRIO component from the Web services palette.

Previously, I type in one of the 'good' WSDL location URLS into the WSDLLocation property. I then clicked the service property and it dropped down listing the gateway and then I was able to select the port.

But, even on this stripped down example, if I enter the 'new' WSDL URL, the go to the service property, I get 'interface not supported'. That is it, no compile or anything.

If you have a few seconds, please try it and you will see (hopefully) what it does.

The problem is as far back as that.

trevorbAuthor Commented:
I have now tried it on a clean install of D2009 also with all the patches and updates applied and I still get exactly the same problem.

This was in the hope that it may possibly have been a bug in D2007 that has been fixed and I would be able to spend my convalesence porting this mail order sorftware to D2009 before the weekend is up.

But even that is now out of the list of possibilities.

Is there such a thing as ultra-panic?!

trevorbAuthor Commented:

Yes! You are 100% correct, it is working. You cannot begin to believe how relieved I am on a scale of 1-100!!!!!!!!!!

Top be honest, I am pretty angry too. I called the crdeit card acquier helpdesk back and said what has changed? And he looked at his logs and said they had tweaked the WSDL at 15:34 UK time as there had been some 'issues'. So I have wasted a day of this and the worry has been undescribable as you can probably imagine.

Can I just say a huge THANK YOU to you, it's just nice to know that there are people out there who you can turn to when this kind of thing happens, even for just a reassuring voice and someone to share the problem with. And the reassurance that it wasn't just me going nutty.

So you get the points just for that.

Thanks again and best wishes,

MerijnBSr. Software EngineerCommented:
Great it's now indeed working!

Good luck with your hospital visit...
trevorbAuthor Commented:
Thank you, appreciate your comments. That is the next thing to worry about! But think I was more worried about the credit card processing issue than the hospital visit..... ;-)
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.