Board index » delphi » Unmatched in parameter validate in SOAP call.

Unmatched in parameter validate in SOAP call.


2008-02-10 09:03:03 PM
delphi180
Hi
I try to connect an Java Webservice with an Delphi Client. I receive the
following error Message:
ERemotableException
Unmatched in parameter validate in SOAP call. Declared parameters :
p0[{systinet.com/xsd/SchemaTypes/}p0]
Can anybody explain me what this Message means?
Nils
 
 

Re:Unmatched in parameter validate in SOAP call.

Hello,
It's not really possible to explain this error without a little more
information (like the WSDL of the service, the version of Delphi you have,
etc). However, my guess would be the following: (NOTE: This is just a
guess):
- If you have an earlier version of Delphi that did not properly
detect/support newer WebService (namely doc|lit services), Delphi's SOAP
runtime could send an XML request that the service does not know what to do
with.
The fact that the exception you received was an ERemotableException this
means that the service did not like the XML we sent and it sent back a SOAP
fault packet. We parse the SOAP fault and we raised an ERemotableException
for every SOAP fault packet received.
If you don't have the latest Delphi, please use the updated importer/runtime
located here:
cc.codegear.com/Item/24535
I'm happy to investigate a little more if you can post the WSDL and version
of Delphi. As far as the exact meaning of the message, I suspect there's a
parameter named 'validate' and it did not like, or something similar?? I
think it is a generic message
Cheers,
Bruneau.
 

Re:Unmatched in parameter validate in SOAP call.

Hi,
I uses D2006 an it seemd to be that the updated importer works correctly...
(I found errors in checking the WDSL file agains the Pas file manually).
Thank you for you support, I give you feedback If I have any other
problems..
One Other question... I like to import an URL an have a special output
past... But I don't understood:
-=+ Output filename after'=' in URL
how is the syntax for example
WSDLImp -P "http://soapbox:6060/zav/StreetDirectoryService/"
If I like to write an pas file with the name "test.pas" ???
WSDLImp -P "http://soapbox:6060/zav/StreetDirectoryService/"=Test.pas
don't work... ???
Nils
Quote
Hello,

It's not really possible to explain this error without a little more
information (like the WSDL of the service, the version of Delphi you have,
etc). However, my guess would be the following: (NOTE: This is just a
guess):

- If you have an earlier version of Delphi that did not properly
detect/support newer WebService (namely doc|lit services), Delphi's SOAP
runtime could send an XML request that the service does not know what to do
with.

The fact that the exception you received was an ERemotableException this
means that the service did not like the XML we sent and it sent back a SOAP
fault packet. We parse the SOAP fault and we raised an ERemotableException
for every SOAP fault packet received.

If you don't have the latest Delphi, please use the updated importer/runtime
located here:

cc.codegear.com/Item/24535

I'm happy to investigate a little more if you can post the WSDL and version
of Delphi. As far as the exact meaning of the message, I suspect there's a
parameter named 'validate' and it did not like, or something similar?? I
think it is a generic message

Cheers,

Bruneau.


 

Re:Unmatched in parameter validate in SOAP call.

Hello,
Quote
One Other question... I like to import an URL an have a special output
past... But I don't understood:

-=+ Output filename after'=' in URL

how is the syntax for example

WSDLImp -P "http://soapbox:6060/zav/StreetDirectoryService/"

If I like to write an pas file with the name "test.pas" ???

WSDLImp -P "http://soapbox:6060/zav/StreetDirectoryService/"=Test.pas

don't work... ???
Because '=' is often part of a URL (between querystring parameters and their
values), you explicitly have to enable this feature.
So what you want is something along the lines of:
WSDLImp -P -=
"http://soapbox:6060/zav/StreetDirectoryService/"=Test.pas
Let me know if that does not work and I will investigate.
NOTE: You can also create a response file with lines like these in there:
http://soapbox:6060/zav/StreetDirectoryService/=Test.pas
Then you just have to call the importer with the name of the response file
as in:
WSDLImp -P -= @responsefile.txt
Cheers,
Bruneau.