first time I shall asking a SOAP-Webservice fpr information.
I got a wdsl-file and information to create an XML to send as question.
Within the wsdl-file I can locate the service 'OrderCheck'.
So I go and start to create with wwsoap the following code:
DO WWSOAP
lcWSDL = "dspone-interface-ordercheck_V001.wsdl"
this.oSOAP = CREATEOBJECT("wwSOAP")
this.oSoap.cServerUrl = ALLTRIM(pcWebService)
this.oSOAP.ParseServiceWSDL(lcWSDL)
IF this.oSOAP.lError = .T.
MESSAGEBOX("Die Verbindung wurde mit einem Fehler abgebrochen: " + CHR(13) + ;
TRANSFORM(this.oSOAP.cErrorMsg)+CHR(13)+;
"Bitte wiederholen Sie es später nochmals.",64,_screen.caption)
RETURN .F.
ENDIF
this.oSOAP.AddParameter("username",this.cUserName)
this.oSOAP.AddParameter("password",this.cPassword)
THIS.oSOAP.cRequestXML = pcString
lvResult = this.oSOAP.CallMethod("OrderCheck")
Most of the code comes from the wwsoap help. But now I recognized other methods, wich I can call and because got the following error with the code above:
The endpoint reference (EPR) for the Operation not found is http://test-dspone.deltavista.com/dspone/services/OrderCheckService and the WSA Action = https://test-dspone.deltavista.com/dspone/services/OrderCheckService.OrderCheck. If this EPR was previously reachable, please contact the server administrator.
I askes myself: Is my way the right way?
I have an example in PHP. but can't read and work it out the right way to get it in use for me, FoxPro and wSOAP:
<?php
/**
* Credit assesment check from Deltavista
*
* A SOAP Request with the current user-information will be sent to Deltavista
* Allow only decision "GREEN" to show up "Zahlen per Rechnung"
*
* @autor xxxxxxx
*
*
*/
if($dv_aktiv == 1 && $global['credit-assessment-dv-active'] == true) {
// data for XML file
// credentials
$dv_user = 'xxxxxx';
$dv_pw = 'xxxx';
// Unique ID to link request to response
$dv_correlationID = md5($customer_data['nachname'] . $customer_data['vorname']);
// Order check request
/* Available:
QuickCheckConsumer
CreditCheckConsumer
QuickCheckBusiness
CreditCheckBusiness
IdentificationSearch
*/
$dv_product = 'QuickCheckConsumer';
// ISO_3166-1_alpha-3 Country Code
$dv_country_product = "DEU";
// Code "BER" for credit assessment
$dv_proofOfInterest = 'BER';
// customer
if($customer_data['anrede'] == 'Herr') {
$dv_gender = 'MALE';
} elseif($customer_data['anrede'] == 'Frau') {
$dv_gender = 'FEMALE';
} else {
$dv_gender = 'UNKNOWN';
}
$dv_firstName = $customer_data['vorname'];
$dv_lastName = $customer_data['nachname'];
$dv_street = $customer_data['strasse'];
$dv_city = $customer_data['ort'];
$dv_zip = $customer_data['plz'];
$dv_country = $customer_data['land'];
$db_country = new DB_Example;
$db_country->query("SELECT * FROM `mod_shop_laender` WHERE id = $dv_country");
if($db_country->next_record()) {
$dv_country = convertToISO3166_1alpha3($db_country->f('kuerzel'));
}
$dv_birthday = date("Ymd", strtotime($customer_data['geburtsdatum']));
$param = array();
$param['product']['name'] = $dv_product;
$param['product']['country'] = $dv_country_product;
$param['product']['proofOfInterest'] = $dv_proofOfInterest;
$param['searchedAddress']['legalForm'] = "PERSON";
$param['searchedAddress']['address']['name'] = $dv_lastName;
$param['searchedAddress']['address']['firstName'] = $dv_firstName;
$param['searchedAddress']['address']['gender'] = $dv_gender;
$param['searchedAddress']['address']['dateOfBirth'] = $dv_birthday;
$param['searchedAddress']['address']['location']['street'] = $dv_street;
$param['searchedAddress']['address']['location']['house'] = 2;
$param['searchedAddress']['address']['location']['city'] = $dv_city;
$param['searchedAddress']['address']['location']['zip'] = $dv_zip;
$param['searchedAddress']['address']['location']['country'] = $dv_country;
$header['credentials']['user'] = $dv_user;
$header['credentials']['password'] = $dv_pw;
$header['correlationID'] = $dv_correlationID;
if($global['credit-assessment-dv-test-mode']) {
$soap_location = "https://test-dspone.deltavista.com/dspone/services/OrderCheckService";
} else {
$soap_location = "https://dspone.deltavista.com/dspone/services/OrderCheckService";
}
$phpClient = new SoapClient("https://" . $shop_url .'/kasse/dspone-interface-ordercheck_V001.wsdl',
array(
'location ' => $soap_location,
'trace' => 1,
'exceptions' => 1,
'soap_version' => SOAP_1_1
)
);
$ns = "http://www.deltavista.com/dspone/ordercheck-if/V001";
$soap_header = new SOAPHeader($ns, "messageContext", $header);
$phpClient->__setSoapHeaders($soap_header);
try {
$result = $phpClient->orderCheck($param);
} catch (Exception $e) {
/*
print_r($e);
print $phpClient->__getLastRequest();
print $phpClient->__getLastResponse();
*/
}
// check response from credit assessment
if(isset($result) && $result->myDecision->decision == 'GREEN') {
$ca_ok_dv = 1;
} else {
$ca_ok_dv = 0;
}
} else {
$ca_ok_dv = 0;
}
?>
Can anyone help me out, please, to get that work for me?
If any further infrmation is needed, please ask for it.
Thanks in advance to all.
Stefan
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
Hi there,
first time I shall asking a SOAP-Webservice fpr information.
I got a wdsl-file and information to create an XML to send as question.
Within the wsdl-file I can locate the service 'OrderCheck'.
So I go and start to create with wwsoap the following code:
DO WWSOAP
lcWSDL = "dspone-interface-ordercheck_V001.wsdl"
this.oSOAP = CREATEOBJECT("wwSOAP")
this.oSoap.cServerUrl = ALLTRIM(pcWebService)
this.oSOAP.ParseServiceWSDL(lcWSDL)
IF this.oSOAP.lError = .T.
MESSAGEBOX("Die Verbindung wurde mit einem Fehler abgebrochen: " + CHR(13) + ;
TRANSFORM(this.oSOAP.cErrorMsg)+CHR(13)+;
"Bitte wiederholen Sie es später nochmals.",64,_screen.caption)
RETURN .F.
ENDIF
this.oSOAP.AddParameter("username",this.cUserName)
this.oSOAP.AddParameter("password",this.cPassword)
THIS.oSOAP.cRequestXML = pcString
lvResult = this.oSOAP.CallMethod("OrderCheck")
Most of the code comes from the wwsoap help. But now I recognized other methods, wich I can call and because got the following error with the code above:
The endpoint reference (EPR) for the Operation not found is http://test-dspone.deltavista.com/dspone/services/OrderCheckService and the WSA Action = https://test-dspone.deltavista.com/dspone/services/OrderCheckService.OrderCheck. If this EPR was previously reachable, please contact the server administrator.
I askes myself: Is my way the right way?
I have an example in PHP. but can't read and work it out the right way to get it in use for me, FoxPro and wSOAP:
<?php
/**
* Credit assesment check from Deltavista
*
* A SOAP Request with the current user-information will be sent to Deltavista
* Allow only decision "GREEN" to show up "Zahlen per Rechnung"
*
* @autor xxxxxxx
*
*
*/
if($dv_aktiv == 1 && $global['credit-assessment-dv-active'] == true) {
// data for XML file
// credentials
$dv_user = 'xxxxxx';
$dv_pw = 'xxxx';
// Unique ID to link request to response
$dv_correlationID = md5($customer_data['nachname'] . $customer_data['vorname']);
// Order check request
/* Available:
QuickCheckConsumer
CreditCheckConsumer
QuickCheckBusiness
CreditCheckBusiness
IdentificationSearch
*/
$dv_product = 'QuickCheckConsumer';
// ISO_3166-1_alpha-3 Country Code
$dv_country_product = "DEU";
// Code "BER" for credit assessment
$dv_proofOfInterest = 'BER';
// customer
if($customer_data['anrede'] == 'Herr') {
$dv_gender = 'MALE';
} elseif($customer_data['anrede'] == 'Frau') {
$dv_gender = 'FEMALE';
} else {
$dv_gender = 'UNKNOWN';
}
$dv_firstName = $customer_data['vorname'];
$dv_lastName = $customer_data['nachname'];
$dv_street = $customer_data['strasse'];
$dv_city = $customer_data['ort'];
$dv_zip = $customer_data['plz'];
$dv_country = $customer_data['land'];
$db_country = new DB_Example;
$db_country->query("SELECT * FROM `mod_shop_laender` WHERE id = $dv_country");
if($db_country->next_record()) {
$dv_country = convertToISO3166_1alpha3($db_country->f('kuerzel'));
}
$dv_birthday = date("Ymd", strtotime($customer_data['geburtsdatum']));
$param = array();
$param['product']['name'] = $dv_product;
$param['product']['country'] = $dv_country_product;
$param['product']['proofOfInterest'] = $dv_proofOfInterest;
$param['searchedAddress']['legalForm'] = "PERSON";
$param['searchedAddress']['address']['name'] = $dv_lastName;
$param['searchedAddress']['address']['firstName'] = $dv_firstName;
$param['searchedAddress']['address']['gender'] = $dv_gender;
$param['searchedAddress']['address']['dateOfBirth'] = $dv_birthday;
$param['searchedAddress']['address']['location']['street'] = $dv_street;
$param['searchedAddress']['address']['location']['house'] = 2;
$param['searchedAddress']['address']['location']['city'] = $dv_city;
$param['searchedAddress']['address']['location']['zip'] = $dv_zip;
$param['searchedAddress']['address']['location']['country'] = $dv_country;
$header['credentials']['user'] = $dv_user;
$header['credentials']['password'] = $dv_pw;
$header['correlationID'] = $dv_correlationID;
if($global['credit-assessment-dv-test-mode']) {
$soap_location = "https://test-dspone.deltavista.com/dspone/services/OrderCheckService";
} else {
$soap_location = "https://dspone.deltavista.com/dspone/services/OrderCheckService";
}
$phpClient = new SoapClient("https://" . $shop_url .'/kasse/dspone-interface-ordercheck_V001.wsdl',
array(
'location ' => $soap_location,
'trace' => 1,
'exceptions' => 1,
'soap_version' => SOAP_1_1
)
);
$ns = "http://www.deltavista.com/dspone/ordercheck-if/V001";
$soap_header = new SOAPHeader($ns, "messageContext", $header);
$phpClient->__setSoapHeaders($soap_header);
try {
$result = $phpClient->orderCheck($param);
} catch (Exception $e) {
/*
print_r($e);
print $phpClient->__getLastRequest();
print $phpClient->__getLastResponse();
*/
}
// check response from credit assessment
if(isset($result) && $result->myDecision->decision == 'GREEN') {
$ca_ok_dv = 1;
} else {
$ca_ok_dv = 0;
}
} else {
$ca_ok_dv = 0;
}
?>
Can anyone help me out, please, to get that work for me?
If any further infrmation is needed, please ask for it.
Thanks in advance to all.
West Wind Technologies
Making waves on the Web
from Maui
thanks for your answer.
I wanted to try your generator, but get errors:
---------------------------
West Wind Web Service Proxy Generator
---------------------------
Service Generation failed:
WSDL Parsing Error: Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Die OrderCheckServiceBinding-Bindung von Namespace 'http://www.deltavista.com/dspone/ordercheck_V001' kann nicht importiert werden.
- Der orderCheck-Vorgang kann nicht importiert werden.
- Das Element 'http://www.deltavista.com/dspone/ordercheck-if/V001:messageContext' ist nicht vorhanden.
If you would like more help, please type "wsdl /?".
But anyway, why can't I use wwSoap?
Thanks a lot!
Stefan
Stefan,
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
Stefan
Do you have a WSDL URL for the service you can share I can take a quick look.
You can use wwSoap, but I won't be much help trying to figure out issues with the service if there are any. I can tell you if the proxy generator is failing on it that it's most likely a fairly off standard service you're dealing with (or a WS* service) so you are also going to have issues with wwSOAP which expects a fairly common structure.
But wwSoap works the way it always has it just requires a lot of manual tweaking of namespaces/headers etc. to get it to work if the service doesn't 'just work'. This is the primary reason I stopped officially supporting it - too many variations and tedious configuration.
+++ Rick ---
Hi Rick,
thanks for your answer.
I wanted to try your generator, but get errors:
---------------------------
West Wind Web Service Proxy Generator
---------------------------
Service Generation failed:
WSDL Parsing Error: Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Die OrderCheckServiceBinding-Bindung von Namespace 'http://www.deltavista.com/dspone/ordercheck_V001' kann nicht importiert werden.
- Der orderCheck-Vorgang kann nicht importiert werden.
- Das Element 'http://www.deltavista.com/dspone/ordercheck-if/V001:messageContext' ist nicht vorhanden.
If you would like more help, please type "wsdl /?".
But anyway, why can't I use wwSoap?
Thanks a lot!
Stefan
Stefan,
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
West Wind Technologies
Making waves on the Web
from Maui
no I haven't got. But I have the wsdl itself. The service providor wants all custumers to use the local wsdl. I don't know why, may be, they have several services (methods) and I get a wsdl with onle that service i booked? Anywa. I'll send u an email with the package I got.
Thanks for having a look on it!
Stefan
Stefan,
Do you have a WSDL URL for the service you can share I can take a quick look.
You can use wwSoap, but I won't be much help trying to figure out issues with the service if there are any. I can tell you if the proxy generator is failing on it that it's most likely a fairly off standard service you're dealing with (or a WS* service) so you are also going to have issues with wwSOAP which expects a fairly common structure.
But wwSoap works the way it always has it just requires a lot of manual tweaking of namespaces/headers etc. to get it to work if the service doesn't 'just work'. This is the primary reason I stopped officially supporting it - too many variations and tedious configuration.
+++ Rick ---
Hi Rick,
thanks for your answer.
I wanted to try your generator, but get errors:
---------------------------
West Wind Web Service Proxy Generator
---------------------------
Service Generation failed:
WSDL Parsing Error: Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Die OrderCheckServiceBinding-Bindung von Namespace 'http://www.deltavista.com/dspone/ordercheck_V001' kann nicht importiert werden.
- Der orderCheck-Vorgang kann nicht importiert werden.
- Das Element 'http://www.deltavista.com/dspone/ordercheck-if/V001:messageContext' ist nicht vorhanden.
If you would like more help, please type "wsdl /?".
But anyway, why can't I use wwSoap?
Thanks a lot!
Stefan
Stefan,
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
Stefan
Not sure why you would see something different. Make sure you have rights to write out the assemblies - if you rn from fox run as administrator. The standalone Wizard should ask to elevate.
+++ Rick ---
Stefan,
Do you have a WSDL URL for the service you can share I can take a quick look.
You can use wwSoap, but I won't be much help trying to figure out issues with the service if there are any. I can tell you if the proxy generator is failing on it that it's most likely a fairly off standard service you're dealing with (or a WS* service) so you are also going to have issues with wwSOAP which expects a fairly common structure.
But wwSoap works the way it always has it just requires a lot of manual tweaking of namespaces/headers etc. to get it to work if the service doesn't 'just work'. This is the primary reason I stopped officially supporting it - too many variations and tedious configuration.
+++ Rick ---
Hi Rick,
thanks for your answer.
I wanted to try your generator, but get errors:
---------------------------
West Wind Web Service Proxy Generator
---------------------------
Service Generation failed:
WSDL Parsing Error: Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Die OrderCheckServiceBinding-Bindung von Namespace 'http://www.deltavista.com/dspone/ordercheck_V001' kann nicht importiert werden.
- Der orderCheck-Vorgang kann nicht importiert werden.
- Das Element 'http://www.deltavista.com/dspone/ordercheck-if/V001:messageContext' ist nicht vorhanden.
If you would like more help, please type "wsdl /?".
But anyway, why can't I use wwSoap?
Thanks a lot!
Stefan
Stefan,
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
West Wind Technologies
Making waves on the Web
from Maui
What exactly doesn't work?
+++ Rick ---
Hi Rick,
no I haven't got. But I have the wsdl itself. The service providor wants all custumers to use the local wsdl. I don't know why, may be, they have several services (methods) and I get a wsdl with onle that service i booked? Anywa. I'll send u an email with the package I got.
Thanks for having a look on it!
Stefan
Stefan,
Do you have a WSDL URL for the service you can share I can take a quick look.
You can use wwSoap, but I won't be much help trying to figure out issues with the service if there are any. I can tell you if the proxy generator is failing on it that it's most likely a fairly off standard service you're dealing with (or a WS* service) so you are also going to have issues with wwSOAP which expects a fairly common structure.
But wwSoap works the way it always has it just requires a lot of manual tweaking of namespaces/headers etc. to get it to work if the service doesn't 'just work'. This is the primary reason I stopped officially supporting it - too many variations and tedious configuration.
+++ Rick ---
Hi Rick,
thanks for your answer.
I wanted to try your generator, but get errors:
---------------------------
West Wind Web Service Proxy Generator
---------------------------
Service Generation failed:
WSDL Parsing Error: Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 2.0.50727.3038]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: Die OrderCheckServiceBinding-Bindung von Namespace 'http://www.deltavista.com/dspone/ordercheck_V001' kann nicht importiert werden.
- Der orderCheck-Vorgang kann nicht importiert werden.
- Das Element 'http://www.deltavista.com/dspone/ordercheck-if/V001:messageContext' ist nicht vorhanden.
If you would like more help, please type "wsdl /?".
But anyway, why can't I use wwSoap?
Thanks a lot!
Stefan
Stefan,
Since you're just starting out with this could I suggest you take a look at the West Wind Web Service Proxy generator instead? wwSoap has been deprecated years ago in favor of this approach that's more automated and much more complete in support of a variety of services.
http://west-wind.com/WsdlGenerator/
+++ Rick ---
West Wind Technologies
Making waves on the Web
from Maui
I'll try it again. But I got en error, I posted you already.
I can make it, if I upload my wdsl to the internet and put the URL into the generator. So, thats OK now :-).
After browsing with the reflector and coding as documented, I got an error back, similar with that one I got with wwsoap:
"The method "OrderCheckService.OrderCheckService.orderCheck" could not been found..."
With wwSOAP the text is a little different:
Error validating 'orderCheck' body element: cvc-elt.1: Cannot find the declaration of element 'orderCheck'.
But browsing in the reflector shows the way:
OrderCheckServiceProxy.dll
-> OrderCheckService
-> OrderCheckService
->orderCheck(OrderCheckRequest)
Spelling of the method, case sensitive, and Parameter is correct.
In the FoxPro-Code in the method "orderCheck", it sais this.oBridge.InvokeMethod(THIS.OSERVICE....
THIS.OSERVISE has only ONE method: httplogin. Nothing else. I am confused...
Thanks,
Stefan
Worked for me when I imported your WDSL files from disk. Created huge .NET and a single method FoxPro proxy.
What exactly doesn't work?
+++ Rick ---
As to the error it means you're not passing the right type for the parameter. Please post your relevant code...
+++ Rick ---
Hi Rick,
I'll try it again. But I got en error, I posted you already.
I can make it, if I upload my wdsl to the internet and put the URL into the generator. So, thats OK now :-).
After browsing with the reflector and coding as documented, I got an error back, similar with that one I got with wwsoap:
"The method "OrderCheckService.OrderCheckService.orderCheck" could not been found..."
With wwSOAP the text is a little different:
Error validating 'orderCheck' body element: cvc-elt.1: Cannot find the declaration of element 'orderCheck'.
But browsing in the reflector shows the way:
OrderCheckServiceProxy.dll
-> OrderCheckService
-> OrderCheckService
->orderCheck(OrderCheckRequest)
Spelling of the method, case sensitive, and Parameter is correct.
In the FoxPro-Code in the method "orderCheck", it sais this.oBridge.InvokeMethod(THIS.OSERVICE....
THIS.OSERVISE has only ONE method: httplogin. Nothing else. I am confused...
Thanks,
Stefan
Worked for me when I imported your WDSL files from disk. Created huge .NET and a single method FoxPro proxy.
What exactly doesn't work?
+++ Rick ---
West Wind Technologies
Making waves on the Web
from Maui
DO program\ordercheckserviceproxy.PRG
LOCAL loProxy
loProxy = CREATEOBJECT("OrderCheckServiceProxy")
llOK = loProxy.HttpLogin("interfina_test_xml","q@Y8tmru",.T.)IF !llOK
MESSAGEBOX("Anmeldung fehl geschlagen!")
loProxy = null
RETURN
ENDIFTEXT TO m.lcString ADDITIVE TEXTMERGE NOSHOW
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<messageContext xmlns="http://www.deltavista.com/dspone/ordercheck-if/V001">
<credentials>
<user>interfina_test_xml</user>
<password>q@Y8tmru</password>
</credentials>
<correlationID>DE-456321</correlationID>
</messageContext>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<orderCheckRequest xmlns="http://www.deltavista.com/dspone/ordercheck-if/V001">
<product>
<name>IdentCheckConsumer</name>
<country>DEU</country>
<proofOfInterest>ABI</proofOfInterest>
</product>
<searchedAddress>
<legalForm>PERSON</legalForm>
<address>
<name>Falk</name>
<firstName>Quintus</firstName>
<gender>MALE</gender>
<dateOfBirth>19680414</dateOfBirth>
<location>
<street>Rathausstrasse</street>
<house>2</house>
<city>Glücksburg</city>
<zip>24960</zip>
<country>DEU</country>
</location>
</address>
</searchedAddress>
<clientData>
<reference>Test_Ident_01</reference>
<order>
<contact>
<item>email</item>
<value>f.quintus@deltavista.com</value>
</contact>
</order>
</clientData>
</orderCheckRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ENDTEXTloResponse = loProxy.ordercheck(m.lcString)
IF loResponse = .T.
MESSAGEBOX(":-)")
ELSE
MESSAGEBOX(":-(" + CHR(13) + loProxy.CERRORMSG)
ENDIFloService = null
Not sure really - I suspect it's a permissions problem. You have to have both the WSDL and the XSD file in the same folder as well...
As to the error it means you're not passing the right type for the parameter. Please post your relevant code...
+++ Rick ---
Stefan
I think you're not understanding how the proxy generator works. You have to pass an object not XML to this function...
Please review the basic documentation for the proxy generator or watch the video to understand how this works. You don't pass XML - you use objects to fill the data and then pass that object to the method.
+++ Rick ---
OK, here is the code for testing. wsdl and xsd files are in the same folder. In the current folder. The generatet files are in program-folder (prg) and current folder (dll), as well as the code in aprg file:
DO program\ordercheckserviceproxy.PRG
LOCAL loProxy
loProxy = CREATEOBJECT("OrderCheckServiceProxy")
llOK = loProxy.HttpLogin("interfina_test_xml","q@Y8tmru",.T.)IF !llOK
MESSAGEBOX("Anmeldung fehl geschlagen!")
loProxy = null
RETURN
ENDIFTEXT TO m.lcString ADDITIVE TEXTMERGE NOSHOW
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<messageContext xmlns="http://www.deltavista.com/dspone/ordercheck-if/V001">
<credentials>
<user>interfina_test_xml</user>
<password>q@Y8tmru</password>
</credentials>
<correlationID>DE-456321</correlationID>
</messageContext>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<orderCheckRequest xmlns="http://www.deltavista.com/dspone/ordercheck-if/V001">
<product>
<<span class="properties">name>IdentCheckConsumer</name>
<country>DEU</country>
<proofOfInterest>ABI</proofOfInterest>
</product>
<searchedAddress>
<legalForm>PERSON</legalForm>
<address>
<<span class="properties">name>Falk</name>
<firstName>Quintus</firstName>
<gender>MALE</gender>
<dateOfBirth>19680414</dateOfBirth>
<location>
<street>Rathausstrasse</street>
<house>2</house>
<city>Glücksburg</city>
<zip>24960</zip>
<country>DEU</country>
</location>
</address>
</searchedAddress>
<clientData>
<reference>Test_Ident_01</reference>
<<span class="functions">order>
<contact>
<<span class="methods">item>email</item>
<<span class="properties">value>f.quintus@deltavista.com</value>
</contact>
</order>
</clientData>
</orderCheckRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ENDTEXTloResponse = loProxy.ordercheck(m.lcString)
IF loResponse = .T.
MESSAGEBOX(":-)")
ELSE
MESSAGEBOX(":-(" + CHR(13) + loProxy.CERRORMSG)
ENDIFloService = null
Not sure really - I suspect it's a permissions problem. You have to have both the WSDL and the XSD file in the same folder as well...
As to the error it means you're not passing the right type for the parameter. Please post your relevant code...
+++ Rick ---
West Wind Technologies
Making waves on the Web
from Maui