Delphi Clinic C++Builder Gate Kylix Kicks Delphi for .NET Delphi Prism
Bob Swart (aka Drs.Bob) Dr.Bob's Delphi Clinics Dr.Bob's Delphi Courseware Manuals
View Bob Swart's profile on LinkedIn Drs.Bob's Delphi Notes
These are the voyages using Delphi Enterprise (and Architect). Its mission: to explore strange, new worlds. To design and build new applications. To boldly go...

Consuming ASP.NET 2.0 Web Services in Delphi for Win32

Author: Bob Swart
Posted: 2/5/2007 10:04:56 AM (GMT+1)

A couple of years ago I wrote an article Consuming C# Web Services with Delphi 7 Professional, and while the information in the article is still correct, it's no longer complete, because ASP.NET 2.0 changed the rules a little bit.
Even if you follow the examples exactly on creating the web service in C# and in creating the consuming application in Delphi for Win32, no matter what you try to echo, the result will always come back as 0 for numbers or as an empty string for strings.

This is due to the fact that the C# web service is deployed on an ASP.NET 2.0 machine (which changed some of the ways WSDL was published compared to .NET 1.1).

The problem is caused by the fact that any .NET Web Service is using the document|literal binding. With ASP.NET 1.x Web Services, this was specified using element, but with ASP.NET 2.0 Microsoft has changed that and now specifies the style in the operation input and output nodes instead of the binding element. The Delphi Win32 WSDL Importer is not able to recognise this, and as a result the generated import unit is using the (for Delphi default) binding type of RPC instead of the .NET document|literal binding type.
CodeGear is aware of the situation, and is already working on fixing the problem in the Win32 WSDL Importer. In the meantime, there is a workaround available that you can use, namely manually specifying the ioDocument as InvokeOptions for the SOAP interface type, as follows:

  InvRegistry.RegisterInvokeOptions(TypeInfo(xxx), ioDocument);
Where xxx is the name of your SOAP interface type.

This line of code needs to be added to the initialization section of the generated Win32 import unit, and will make sure the parameters and result types are no longer empty when Win32 clients are talking to ASP.NET 2.0 Web Services.



Mohammed Nasman07/02/07 10:14:30Hello Bob, Could you please point if the reverse is possible? I would like to create Delphi win 32 web services that return data from database and I need application to call that web services(will be written using C# or if there's any benefit) Is there any way that web services client communicate with delphi win 32 WS? Thanks
Andre Pietsch 07/03/14 09:17:50Let me add that if consuming a JAX-WS 2.1 Web Service you would have to add <--- snip ---> InvRegistry.RegisterInvokeOptions(TypeInfo(xxx), ioDefault); <--- snap ---> That took me some time... :)
Lloyd K 07/03/24 21:21:39Thanks Dr Bob you're a life saver! I was ripping my hair out over this as I couldn't understand why my C# app worked fine but my Delphi one didn't!
Joe G. 07/03/25 15:33:35This looks like the perfect answer to my problem but it doesn't fix it. I have a C# .NET 2 web service, just echoing the input, and neither Delphi 7 nor Turbo Delphi will ever return anything but nil. Works fine in .NET 1.1 however. I've also added Andre's option - no joy.
JAV! 07/04/08 12:57:05Thank you. You're the best!!!
Suman 07/05/04 06:31:06You are amazing...Bob... Thank you very much....
Mirras 07/05/24 12:23:24It works great! But this line must be entered as last in the initialization section, after all of instruction. Instead it doesn't work. Anyway GOOD JOB Dr Bob :) !!!
Alex Artsikhovsky ( 07/06/16 01:42:24Perfect! I have not found this solution on CodeGear or Microsoft - so it means - you know both products better. Thank You!
behzad 07/08/16 14:06:08tnx bob u r great man ... one of my problem solved but stil hava problem with unicode parameters
Claudio Duffini 07/09/12 20:12:14You are THE Man ! I was desperately trying to invoke services built with net 2 from BCB6. THANKS !
reza( 07/10/12 16:26:40Hi I have this problem sending a string type parameter to an ASP.Net 2.0 web service but I was not successfull can u help me plz?
Roia Delbar 07/11/05 09:43:19Thank you Bob for your Help.
Abu Ilan 07/11/08 21:53:51Thanks a lot. It saved my time solving the problem. Also I appreciate Mirras's good catch.
Josir ( 07/11/21 21:33:23Hi Dr.Bob, nice to talk with you after so many years. Codegear recently posted an update with corrections in WSDL generation but it didn't explain the doc|literal problem. If you look for this error on Google, you will see that your post is the only one that explains this problem with all letters. Thanks one more time. If you come to Rio de Janeiro, let me know!!
CheGueVerra and Little Squirrel 08/01/22 00:31:42Using the new WSDLImp [2007-12-17], which puts this : InvRegistry.RegisterInvokeOptions(TypeInfo(xxx), ioDocument); in your code, I still have trouble passing the service parameter class from Delphi win32 client to the VS2005 WebService. I was wondering if any manipuolation was required ... BTW, passing: strings, integers and TDateTime works in other services that I implemented ... TIA ...
MagicBox 08/01/25 17:41:28I'm having the same issue - VS2005 webservice, D2007 client. Webservice method parameters are not passed to the webservice. After examining the soap message sent by the delphi client, it appears the parameter element is completely ditched; instead it is replaced by an element with the same name as the soap operation. Hence the webservice thinks it is not receiving any parameters. I can't seem to find anything to battle this problem. You have any idea Mr. Bob?
MagicBox 08/01/25 18:00:02Fix for problem: Clear options for parameter classes -> FSerializationOptions := []; //[xoHolderClass,xoLiteralParam]; Also comment options registration -> //RemClassRegistry.RegisterSerializeOptions(UpdateBedrijvenRequest, [xoHolderClass,xoLiteralParam]); Also comment external parameter override for method using parameter class -> //InvRegistry.RegisterExternalParamName(TypeInfo(MatWebServiceInterface), 'UpdateBedrijven', 'messagePart1', messagePart'); Now parameter classes get passed through properly. Wacko WSDL Importer ;)
Thiru 08/02/08 16:48:54Hello Mr.Bob, Is it possible for consuming webservice in delphi 5.? I need some code samples in Delphi 5 that would simulate the webservice using Delphi 5 and web service (.asmx file). Kindly help
Bob Swart 08/02/08 16:51:35Delphi 5 lacks the WSDLImporter that was added to Delphi 6 and later (and even if you have the importer, you do not have the necessary VCL components for the SOAP support, so unless you find some third-party solution, it's just not possible with Delphi 5. Why not upgrade to Delphi 2007 instead? Or CodeGear RAD Studio 2007, so you can also make the ASP.NET 2.0 Web Service yourself ;-)
FameuCoco 08/02/11 12:19:17hi, thank you for this VERY useful tip. we were searching for 2 days.
Andrew Soldano 08/02/28 12:11:23Thank you Bob. You're cool!!!
Andrew Soldano 08/02/28 12:12:31I means your tip is smart :)
ABhishek 08/03/03 12:03:26Hello Dr. Bob. My boss just asked me to upgrade from Delphi 2005 to Delphi 2007, but the problem is that Delphi 07 has some .NET 2.0 issues. With 05, the ASP.NET property of our virtual directory set at 1.1 used to work fine, but not for 2.0. But in case of 07, nothing works. What could be the problem ? And the solution ?
Antony Augustus 08/03/18 07:24:03We were breaking our head. Thanks Bob for your help.
Denizhan Seçkin 08/05/03 14:47:06Thank Bob, this help save me from very painfull headache :)
Keith 08/06/09 21:31:44Thanks for the tip!
Aeliton 08/06/10 23:02:01genius monster!!! =) thanks for this article, it save me so many time!
Dave 08/06/11 18:17:02I am having issues with calling the web service from a different machine than development machine. Did someone have this issue?
Bob Swart 08/06/11 19:53:21Dave: did you import the web service from "localhost" perhaps?
Manohar 08/06/18 10:03:54Thank you very much bob.
BenJ 08/06/18 16:45:41Thx, Helped me a lot!!!
James ( 08/06/22 17:35:55Wondering if my problem is related to this? Can use SPserv:=SPservice.GetSP(false,'',httprio1); peoplearray := SPserv.getPeople; to get an array of people but if I try to call spserv.addPersonnel('Test','Test','Test'); it's not passing the vars through to the service it returns delphi generated "procedure addPersonnel(const arg0: WideString; const arg1: WideString; const arg2: WideString); stdcall;" from the wsdl. server is running JAX-WS is there any way I can generate a soap envelope dynamically and send it? I'm running out of time and completely out of my depth... Sorry for all the questions!
Batur 08/07/04 08:51:32It is wonderfull tric. I am working on D6 and i am searching fix for this till one day. Thak you very much.
Fabrizio 08/07/16 16:56:02Great. I was becoming crazy.. Tnx!!!
Fredy Chuc ( 08/08/16 02:06:05thank you very much Bob for your help !!!
Kiran Kurapaty 08/08/18 17:05:00Wow! thats wonderful. It did the trick! Thank you so much!
Farlop 08/08/28 15:46:26Thanks!!! It worked for me! :D
Diego 08/10/27 14:07:49You saved my life with this post!!!!!!!!!!
stuwi 08/12/16 15:53:23Thank you!
ozhan 09/01/08 16:15:11we thanks you we solved out problem
juul 09/01/10 15:10:08THANKS!!
Yosv 09/02/18 21:48:35Thanks, this solved my problem.
ebrahim 09/03/09 05:30:20Thank you for your help!
OlegD 09/06/23 08:47:14Thank for your help. I was looking for the problem for 2 days, Thanks.
Javadzadeh 09/06/24 14:31:39Thanks. It works great! I was looking for it for 2 week. GOOD JOB Dr Bob !!!
Adriano Galesso Alves 09/07/31 20:54:02Thanks a lot peaple, we use WS in C#/ASP.Net here and a client use Delphi 7 to consum our WS. Experts in Delphi doesn't know about this problem/fix... But here I fund! Congratulations for Drs. Bob and the programmers posts!
hamed 09/08/03 19:49:54thank you!
Giulia 09/08/19 17:38:32Thank you very much for your help!!!!!!
Chris Royle 09/08/20 16:40:09Thanks Bob, problem solved. It took ages to find this post though.
Zeeshan 09/09/01 10:25:52Hi. Bob, i need a little help in this regard, can u please suggest somehting if i want to keep the delphi client as it is, and i want to change something in my web service to do the same?... is it possible to do something with the webservice that is starts working with the clients as they are??? it would be so nice of u to suggest any tip...
griph 09/09/14 10:05:14Many thanks. Your tip is a life saver!
Alex 09/09/28 13:40:57Millons of thanks BOB. You are the greatest
wasol 09/10/08 13:22:12Thanks a lot! Greatings from Poland!!!!!!!
tnx 09/10/28 11:32:17Thanks a lot.
Leo 09/11/03 12:06:46jh xdsn
bisi 09/11/07 07:25:08Thank you! From Slovakia.
Jhonatan 09/11/30 11:29:10Thanks by article. Bu i have a question. I need that my WebService return DataSet or XML. How can i do for Delphi reads the XMl?
Firas Nizam 09/12/01 16:17:25Thanks, nice article.
Leif Mønniche 09/12/14 01:44:40Thanks a lot. I have always appreciated Your talentet work in Delphi Magazine. This article just help me out of troubles. Does there exist an e-book 'Bible' describing all the stuff in details ?
hassan safari 09/12/15 08:07:51Thanks a lot , bob is a good man this moment
Rene 10/01/03 23:28:17For Turbo/Borland C++ Builder: add line InvRegistry()->RegisterInvokeOptions(__interfaceTypeinfo(YourServiceSoap), ioDocument); after all calls in static void RegTypes() {} in generated code (or to some other suitable place)
Bob Swart 10/01/06 12:06:03@Leif: my XML, SOAP and Web Services courseware manuals, sold on as paperback or in PDF format (with updates and e-mail support) from contain all this information and more.
Leif Mønniche 10/01/16 12:20:13@Bob: Thanks for Your links I have already been at the I have been a Pascal fanatic since Anders H's issue Compas Pascal for C/PM and Poly Pascal for MSDOS in 1983. I still think that Delphi 2.01 fits my purpose and I stopped upgrading at D3. I followed the evolution up to D7 in the Delphi Magazines and bought a D7 at last because of the Web Services. You have had several articles describing the issue, for which I am thankfull - and it all worked out good. Untill I met my Delphi Watterloo in an elephant of a .NET/C# WSDL file from e-conomic. I can simply not understand the mechanism of consuming this service at all. During the Years I have developed a set of win32 Financial Management Modules in Delphi 2.01 now I want to import actual numbers from the web based accounting system. I can do it and it works fine on my server at my ISP in Visual Studio 2008 Professional - but it is slow first time because of the big library to load. And Most of all - as a Delphi fanatic I will not give up the hope that it can be done with Delphi. Since D7 I have downloaded trials of D2005, D2006 and D2007 and tried to make it work without any luck. Right now I have a D2010 trial running. And I hope that Your material will help me understand the needy greegy details. Sincerely Leif :)
MJG 10/02/05 18:34:55I'm using Borland C++ Builder 6 -> WSDL Importer and the site I'm trying to connect with uses SOAP Headers for authentication. I can't find anything that would help me add Headers to my SOAP Request. Can you point me to something?
Bob Swart 10/02/05 18:40:09My courseware manuals show how to do this with Delphi - if you've purchased the PDF edition, then I can help you to get this to work with C++Builder as well (it's not that hard, only a syntax difference between Delphi and C++Builder).
MJG 10/02/16 19:50:24Specifically which manual? I'll purchase it if you can truly help me out. Would love the help since I haven't gotten it to work even with gSOAP yet.
Bob Swart 10/02/16 21:21:13The Delphi 2007 XML, SOAP and Web Services manual from contains only Delphi syntax, but it may be possible to get it to work with C++Builder 2007 or 2010 as well.
MJG 10/02/17 00:22:32Ok, got the PDF book. Reading... For a local test, using VS2005 I've created your echo web service in C# and tried using the WSDL Import tool, both command line and File->New in C++Builder 6. Both methods produce a .h and .cpp file that does not implement the service methods. I'm still missing something. For example: [C++ Error] Wsc.cpp(571): E2353 Class 'Service1Soap' is abstract because of 'Service1Soap::Echoint(const int) = 0' so there is no implementation of the Echoint method. Any ideas?
MJG 10/02/17 01:35:01Not to forget this very important piece of the puzzle... in C++, adding SOAP headers to the request: if the echo web service added: public class AuthHeader : SoapHeader { public string UserName; public string Password; } and: public AuthHeader Credentials; [SoapHeader ("Credentials", Required=true)] [WebMethod] public int Echoint(int intValue) ... Calling it in C++ would be??? _di_Service1Soap ws = GetService1Soap(); AuthHeader *hdr = new AuthHeader(); hdr->UserName = "name"; hdr->Password = "password"; // NEED TO ADD THE HEADER HERE. Can't find example of syntax. Docs of course are no help. int iResult = ws->Echoint(13); //Calling a web service method and returning result.
Bob Swart 10/02/17 14:40:48If you got the PDF book with e-mail support, then just e-mail me (easier to read) ;-) See also for an example where C++Builder is importing a C# web service. I will examine the adding of the SOAP Headers, but the Echo example should work just fine.
MJG 10/02/18 23:11:49To finish out the last few comments... Borland C++ Builder 6 simply does not do SOAP Headers. I'll have to use a more current version to create an ActiveX control to include into my older product to get this functionality. THANK YOU SO MUCH Dr. Bob! You're the BEST!
Vikram 10/03/24 08:29:21This article helped me find the ultimate solution. I am working in BDS 2006, using WSDL importer generated this piece of code (InvRegistry.RegisterInvokeOptions(TypeInfo(xxx), ioDocument)) automatically. Still the parameters being passed to server were 0/null. I moved this statement at the top of initialization section, and it worked!!! Thanks Dr. Bob!
Carl 10/05/25 11:19:17Thank you SOOOO very much.. I have been struggeling for 7 days now.
Myles 10/07/01 01:12:20Cool. Fixed my the issue wiht D2007, so this is still relevant today!
Ciro (Brazil) 10/09/09 16:24:44Thanks body! I was trying to fix this and have spent 2 day on this. that was super!
Hong Sun 10/10/20 17:35:15Thanks very much for the solution posted here. It solve 90% of my problem, and save us lots of time. However, I have anothe related issue here. The C# .NET web service we are consuming now provides two overload web methods, same function name with different parameters. All of the parameters are string, and return value is array. However, I can't use either of them, all of the parameters I passed into the method were treated null on the Service End. Any advice? thanks!
Bob Swart 10/10/20 17:42:55Hong: if you make sure to *uncheck* the WSDL Importer option "one out parameter is result", then you should get overloaded methods with an out parameter instead of methods with the same parameter list and just different result types (which Delphi cannot distinguish between each other of course).
Hong Sun 10/10/20 18:22:37Dear Bob, it is working now, thanks a lot! You saved lots of my hair ;-)
Bob Swart 10/10/20 18:59:40For more Delphi SOAP information, check out my Delphi 2010 XML, SOAP and Web Services manual. If you buy it now from you will also get the Delphi XE edition of this manual for free when it's released later this year. This is a time-limited offer, until the Delphi XE XML, SOAP and Web Services manual is published!
Hong Sun 10/10/20 19:18:19Dear Bob, sorry for my last mistaken message, it is not working. My situation is I have two overload web methods, Method1 (para1: string): array, and Method2(para1: string, para2: string): array, every parameter I put in the method are received as NULL. I tried *uncheck* the WSDL Import Option, still NULL. Please help.
Hong Sun 10/10/20 19:33:30Dear Bob, sorry for my last mistaken message, it is not working. My situation is I have two overload web methods, Method1 (para1: string): array, and Method2(para1: string, para2: string): array, every parameter I put in the method are received as NULL. I tried *uncheck* the WSDL Import Option, still NULL. Please help.
Bob Swart 10/10/20 23:27:27Hong, I don't know how to help you with the information you've given me. Feel free to contact me by e-mail. In order to learn more, I would need the WSDL and a test application that seems to fail.

If you want, I may offer you a "no cure no pay" consultancy for my regular fee of 100 Euro per hour (maximum a few hours).

Abe Ilan 10/10/29 15:40:35It resolves the problem with the parameters of primitive types. The parameter of some class type is null on the web service side. For example: var Request: TQuestion; Response: TAnswer; begin ..... Response := Service.DoIt(Request); //Request object is been created, populated, but null in .NET //if you replace it with list of parameters: Request.ID, Request.Name, etc. it works fine and //Response object comes through to Delphi 7 end;
Alan 10/11/02 07:11:43thanks, i had an headache just to figure out how to pass arguments in C# to borland delphi webservice, without this single line of code, i would never make it
Acco 10/11/19 20:35:54Hi Abe Ilan, did you figure out how to pass a user's class object from delphi client (v7) to .net web service (v3.5) and return it back? Putting just InvRegistry.RegisterInvokeOptions(TypeInfo(xxx), InvokeRegistry.ioDocument) doesn't help. Dear Bob, can you give me a hint? Thanks
Irfan 10/12/31 10:08:08Tesekkürler, (thank you)
hasan babaei 11/02/02 09:55:32tanks very mutch dr.bob us saving from dead;
Steve B 11/05/24 18:17:38I've got Delphi 5 ans MSSOAP V3 working and can access a simple web service, but having problems with a more complicated one like Betfair. I know I need to call the Login method, but not sure what (type) exactly to pass to that method. A few sample lines attached, could you take a look at the WSDL and point me in the right direction. Thx. procedure TForm1.Button1Click(Sender: TObject); var BF: variant; strRequest, strTemp: string; begin BF := CreateOleObject('MSSOAP.SoapClient'); BF.MSSoapInit(''); strTemp := BF.login('"0",0,"pwd",82,"username",0'); // This errors ShowMessage(strTemp); BF := Unassigned; The Login errors with 'type mismatch'
Web service not sending parameters 11/07/04 08:17:51Hi We have a webservice which we are trying to use from Delphi ver 7. (Yes old I know).. all works except the sending of parameters. have tried everything you mention yet still doesnt work. (eg InvRegistry.RegisterInvokeOptions(TypeInfo(CommunicationStarServiceAsmxSoap),[ioDefault, ioDocument, ioHasReturnParamNames, ioHasNamespace]); ) Could you please let me know if there is anything else that has come up in the past few years we can try? Thanks David
Neil K 11/10/06 13:44:13Dr Bob, what a lifesaver!
Chirag Sharma 11/12/01 08:24:45I am using C++ builder XE. I can get individual elements from the webservice generated by wsdlimporter, but I am unable to retrive arrays.. it returns as NULL.. in SOAPUI response is good. Please suggest on what C++ builder options in wsdl importer should be checked while importing ..or if there is any other way to troubleshoot.. Thanks in advance..
Sukhjot Singh 11/12/04 18:02:27Thanks bob....
Edgar Morales 12/07/31 00:26:03Thank from Guatemaa CA.
Sava Sarandaliev 12/08/01 07:37:03Thanks!!!! Reading this article saved me a lot of time!!!!!
sDevan 12/08/14 10:30:14I am trying to consume C# WCF webservice(wsHttpBinding) in Delphi 2005(win32)? I had generated interface xxService.pas file using WSDLIMP.exe; If i try to invoke service I am getting error. Cannot process the message content type: text/xml; charset-"utf-8" was not the expected type application/soap+xml; charset-"utf-8" 415. I am using THTTPRIO; Kindly suggest me how set up the content type. Thanks in Advance...
Albert 12/09/14 12:58:57Dr. Bob, 5 years later, this article is still making people happy! It just saved my day. Dank U well dokter
Albert (Spain) 12/11/06 21:57:05THANKS!!! This article is a lifesaver. 2 days of headache resolved in 30 seconds!!
ronny 13/08/28 11:49:18ymze1c
Michelle 13/08/31 15:57:35Have you got any experience? buy topamax weight loss to enhance your learning and the learning of others. Be inquisitive and demonstrate critical thinking skills. Become curious whenever everyone agrees that a
Valeria 13/08/31 16:21:38Will I have to work on Saturdays? Order Albenza Patients must bring all of their medications to every visit where pill counts and additional
Vanessa 13/08/31 16:45:36An accountancy practice Praziquantel Price IV Medications Preceptor Sign
Noah 13/08/31 17:08:59I've got a part-time job retin-a 0.1 cream for wrinkles Excused absences greater than five days and any unexcused absences will result in
Sean 13/08/31 17:32:40I'm sorry, I'm not interested diflucan no prescription canada reporting of results, teaching and research. Uniform data management and
Sydney 13/08/31 17:56:22Can you hear me OK? Purchase Elavil Online not completed by the end of April, the student will not be processed for graduation.
Jack 13/08/31 18:19:46Will I have to work shifts? generic topamax price which they are assigned for rotation until that rotation is successfully completed.
Nathaniel 13/08/31 18:43:30I'll send you a text generic wellbutrin xl and weight loss New York State only allows a
Isabelle 13/08/31 19:07:03I'm afraid that number's ex-directory Phenergan Tablets continued continued to best ability. continued continued
steep777 13/08/31 19:30:44Will I have to work on Saturdays? accutane order online Demonstrate a commitment to excellence in work habits and work products
Tristan 13/08/31 19:54:21Will I get travelling expenses? order clomid online cheap The status ADJT refers to a claim submitted in replacement of a paid claim with the
Noah 13/08/31 20:17:47Whereabouts are you from? to buy retin-a micro (tretinoin gel) microsphere 0.04 " Package billing errors
Nilson 13/08/31 20:41:14I'll send you a text Proventil Mg Images can be stored / called in the memory of thisWireless remote control
Plank 13/08/31 21:04:38Incorrect PIN online diflucan prescription 76 Plan Limitations Exceeded
Stephanie 13/08/31 21:28:02I can't get a signal amitriptyline 300mg diagnosis and plans to confirm or eliminate each.
Brandon 13/08/31 21:51:17What line of work are you in? where to buy clomid online no prescription The approval numbers cover all medicines required by the
Jocelyn 13/08/31 22:14:33Directory enquiries desyrel vs xanax these instances, pharmacies must treat the member?s Medicare insurer as a primary
Alexis 13/08/31 23:01:15Excellent work, Nice Design cheap effexor xr without prescription Prior Approval/Authorization No. (Field 13)
Blake 13/08/31 23:37:33I can't get a dialling tone get propecia prescription online 05(0.5) / 06(0.4) / 07(0.3)).
Brandon 13/09/01 00:00:49Another year Proventil Coupon an emergency temporary supply of a medication, the pharmacy may process an
Sean 13/09/01 00:24:03Enter your PIN retin a cream 1 management and management and management and administrative issues. administrative
Alexander 13/09/01 00:47:21Just over two years buy topamax online usa To qualify the specific Co-Pay, Coinsurance and
Kaden 13/09/01 01:10:25Another service? thuoc ventolin 2.5 mg The telecommunication standards for the Pro-DUR/ECCA system are the same as those
Zoe 13/09/01 01:33:50I live in London order wellbutrin canada More than fifty internists, pediatricians, clinical officers, nurses, pharmacists, outreach
William 13/09/01 01:57:17Insert your card amitriptyline hcl price practice experiences should identify the competencies to be achieved, expected types of
Xavier 13/09/01 02:20:43Directory enquiries Buy Cheap Bimatoprost Describe the dosage form, packaging and labeling of IMP and additional arrangements for labeling blinded drug supplies.
Sarah 13/09/01 02:44:08I'm self-employed Buy Erythromycin Online Uk This section describes the input fields required by the New York State Pro-DUR/ECCA
Brody 13/09/01 03:07:27I've come to collect a parcel Maxalt Rpd 10 make and the reasons for the decision.
Zachary 13/09/01 03:30:58What's the last date I can post this to to arrive in time for Christmas? Motilium Mg Participate in counseling a minimum of three patients in a community pharmacy
Wyatt 13/09/01 03:54:31I'm doing a masters in law how to order nolvadex epidemiologic and based on information
Savannah 13/09/01 04:18:01I can't get through at the moment Order Premarin Online and Tuberculosis and Infections Control (TB)
Carlos 13/09/01 04:41:36I'm self-employed Generic Priligy 1 = No Other Coverage Identified
Michelle 13/09/01 05:05:04perfect design thanks Provera Tablets the physician or treatment facility indicating that care was provided for the
infest 13/09/01 05:28:37I'm doing a masters in law Generic Stendra decisions on whether the student will be allowed to complete a rotation at the site. If
razer22 13/09/01 05:52:16I'm from England much does abilify cost insurance program specifically developed for pharmacists and pharmacy students. Only individuals who are
toms outlet store 13/09/04 18:54:37Hello there! My partner and I often write guest articles for other blog owners to help increase publicity to our work, as well as provide wonderful content to weblog owners. It really is a win win situation! If you're interested feel free to contact me at: %EMAIL% so we may discuss further. Thanks! toms outlet store
Jenny 13/09/05 22:20:34I discovered your page and noticed you could have a lot more hits. I have found that the key to running a popular website is making sure the visitors you are getting are interested in your subject matter. There is a company that you can get traffic from and they let you try their service for free. I managed to get over 300 targetted visitors to day to my site. Check it out here: h Jenny
toms store 13/09/06 21:16:08Spot on with this write-up, I really assume this web site wants rather more consideration. I'll probably be again to learn much more, thanks for that info. toms store

New Comment (max. 2048 characters, no HTML):


This webpage © 2005-2011 by Bob Swart (aka Dr.Bob - All Rights Reserved.