Solved

Delphi Soap example

Posted on 2013-01-18
6
3,285 Views
Last Modified: 2016-02-10
Hello,

I have an application written in Delphi 2010 and I need to communicate with a webshop using Soap.

I have never used Soap yet. I have some documentation how to connect to the webshop but all the examples are in Php.

I need help in this:
- I'll quote some parts of the documentation and I would like examples how to accomplish this.
I need both call examples and processing the returned xml data examples.

Nomal authentication array:
$auth=array(
Username=>'username',
PasswordCrypt=>'01234567890123456789012345678901',
ShopId=>1000,
AuthCode=>'abcdefghij'
);

Open in new window


special authentication array:
$auth=array(
Username=>'username',
PasswordCrypt=>'01234567890123456789012345678901',
ShopId=>1000,
AuthCode=>'abcdefghij',
SpecialFormat=>'egy-szamlazo-program'
SpecialCode=>'0123456789'
);

Open in new window


Get all orders:
public XmlDocument getOrder (array auth, array params);

Query:
$params=array(
InvoiceStatus=>1,
DateStart=>"2012.01.01",
DateEnd=>"2012.12.31"
);

Open in new window


set order:
public XmlDocument setOrder (array auth, array params);

call:
$params=array(
Key=>"1000-100000",
InvoiceStatus=>2,
InvoiceNumber=>"UO-100000/2012"
);

returns:

<?xml version="1.0" encoding="UTF-8" ?>
<Orders> <!--Orders -->
<Order> <!-- First order -->
<Key>1000-100000</Key> <!-- unique key -->
<Action>modify</Action> <!-- task completed -->
<Status>ok</Status> <!-- status (ok, error) -->
</Order>
</Orders>

Open in new window


Thank you very much
0
Comment
Question by:starhu
6 Comments
 
LVL 26

Accepted Solution

by:
Sinisa Vuk earned 500 total points
ID: 38793081
0
 
LVL 19

Expert Comment

by:Thommy
ID: 38793163
Chapter 22 and 23 are good start for using XML and SOAP web services in Delphi...
Chapter 23: Web Services and SOAP
Chapter 22: Using XML Technologies

Can you tell me which webshop it is and provide the complete documentation?
0
 

Author Comment

by:starhu
ID: 38794099
Thommy: this is not an English webshop and the doc is not public. I can send it in private though if you want.
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 9

Expert Comment

by:rinfo
ID: 38796008
0
 

Author Comment

by:starhu
ID: 38815820
I will try them and let you know about the result, thank you
0
 

Author Comment

by:starhu
ID: 39187241
I tested for days but none of the links helped me to complete the task (they gave me directions though).

Now I know how to create an Xml document what the server wants.
So the question is:
If I create an Xml format as
   result.WriteString('<?xml version="1.0" encoding="UTF-8"?>' + sLineBreak);
      result.WriteString('<SOAP-ENV:Envelope' + sLineBreak);
      result.WriteString('	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"' + sLineBreak);
...

Open in new window


then how can I make some Soap component send it?

Thank you
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

786 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