Creating and consuming Web services in Visual
Basic 1st Edition Schaffer download
https://ebookgate.com/product/creating-and-consuming-web-
services-in-visual-basic-1st-edition-schaffer/
Get Instant Ebook Downloads – Browse at https://ebookgate.com
Get Your Digital Files Instantly: PDF, ePub, MOBI and More
Quick Digital Downloads: PDF, ePub, MOBI and Other Formats
Visual Basic in Easy Steps Tim Anderson
https://ebookgate.com/product/visual-basic-in-easy-steps-tim-
anderson/
Building Interoperable Web Services using the WS I
Basic Profile 1 0 Patterns Practices 1st Edition
Microsoft Corporation
https://ebookgate.com/product/building-interoperable-web-
services-using-the-ws-i-basic-profile-1-0-patterns-practices-1st-
edition-microsoft-corporation/
RESTful Web Services 1st Edition Leonard Richardson
https://ebookgate.com/product/restful-web-services-1st-edition-
leonard-richardson/
Pro ASP NET Web API HTTP Web Services in ASP NET 1st
Edition Tugberk Ugurlu
https://ebookgate.com/product/pro-asp-net-web-api-http-web-
services-in-asp-net-1st-edition-tugberk-ugurlu/
Building Web Applications with ADO NET and XML Web
Services 1st Edition Richard Hundhausen
https://ebookgate.com/product/building-web-applications-with-ado-
net-and-xml-web-services-1st-edition-richard-hundhausen/
Advances in Web based GIS Mapping Services and
Applications 1st Edition Songnian Li
https://ebookgate.com/product/advances-in-web-based-gis-mapping-
services-and-applications-1st-edition-songnian-li/
Visual Basic 6 in Easy Steps 2nd Edition Tim Anderson
https://ebookgate.com/product/visual-basic-6-in-easy-steps-2nd-
edition-tim-anderson/
Subclassing and Hooking with Visual Basic 1st Edition
Stephen Teilhet
https://ebookgate.com/product/subclassing-and-hooking-with-
visual-basic-1st-edition-stephen-teilhet/
Semantic Web Services Theory Tools and Applications
Jorge Cardoso
https://ebookgate.com/product/semantic-web-services-theory-tools-
and-applications-jorge-cardoso/
Copyright
Many of the designations used by manufacturers and sellers to distinguish their products
are claimed as trademarks. Where those designations appear in this book, and Addison-
Wesley were aware of a trademark claim, the designations have been printed in initial
capital letters or in all capitals.
The author and publisher have taken care in the preparation of this book, but make no
expressed or implied warranty of any kind and assume no responsibility for errors or
omissions. No liability is assumed for incidental or consequential damages in connection
with or arising out of the use of the information or programs contained herein.
The publisher offers discounts on this book when ordered in quantity for special sales.
For more information, please contact:
Pearson Education Corporate Sales Division
201 W. 103rd Street
Indianapolis, IN 46290
(800) 428-5331
corpsales@pearsoned.com
Visit AW on the Web: www.awl.com/cseng/
Copyright © 2002 by Pearson Education
All rights reserved. No part of this publication may be reproduced, stored in a retrieval
system, or transmitted, in any form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior consent of the publisher. Printed in the United
States of America. Published simultaneously in Canada.
Library of Congress Catalog Card Number: 2001086076
Printed in the United States of America
First Printing: May 2002
05 04 03 02 4 3 2 1
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks have
been appropriately capitalized. Addison-Wesley Professional cannot attest to the accuracy
of this information. Use of a term in this book should not be regarded as affecting the
validity of any trademark or service mark.
Warning and Disclaimer
Every effort has been made to make this book as complete and as accurate as possible,
but no warranty or fitness is implied. The information provided is on an "as is" basis. The
authors and the publisher shall have neither liability nor responsibility to any person or
entity with respect to any loss or damages arising from the information contained in this
book or from the use of the programs accompanying it.
Credits
Acquisitions Editor
Sondra Scott
Development Editor
Laurie McGuire
Managing Editor
Charlotte Clapp
Project Editors
Tony Reitz
Linda Seifert
Copy Editor
Pat Kinyon
Indexer
Eric Schroeder
Proofreader
Andrea Dugan
Technical Editors
Ken Cox
Jawahar Puvvala
Team Coordinator
Lynne Williams
Media Developer
Dan Scherf
Interior Designer
Gary Adair
Dedication
To Jean. Thanks for always believing in me.
—Scott
For Lauren and Jodi
—Eric
To my wife, Oshrat, for all her support and patience, and to our daughter, Zoe Amit, who
was born during the writing of this book.
—Deon
Foreword
Looking back at the last 30 years of human-computer interaction, a number of key
milestones stand out prominently: the shift from the mainframe computing to the PC, the
introduction of the graphical user interface, the move from 16- to 32-bit processors, and
most recently, the pervasiveness of the Internet and the Web. Each of these landmarks
represents a fundamental turning point in the relationship between human and machine.
They also served to address some of the most pressing industry challenges of the time,
from providing a viable platform for consumer-based computing to satisfying the need
for richer, graphical user interaction to enabling ubiquitous application deployment and
access.
Now, as businesses seek to address the ongoing fundamental challenges of software
integration, a new technology called XML Web services is promising to once again
fundamentally transform and enhance the way consumers and businesses interact with
computers. The core concept behind these Web services is relatively
straightforward[md]components that are accessible using standardized Internet
protocols. Yet their potential to affect the industry is both far-reaching and profound.
Similar to computing revolutions of the past, XML Web services represents a new
paradigm around which the entire computing industry is converging. Partners and
competitors alike are quickly recognizing the value of XML Web services as a universal
component architecture[md]one that spans programming languages, networks, and
even platforms.
But why this sudden move to a new software integration paradigm when technologies
such as DCOM and CORBA already exist? Although they provide a viable option for
integration of systems residing in a uniform corporate Intranet, they lack the capability to
adapt to the loosely coupled, heterogeneous environment of the Internet. As this
became evident to more and more businesses that required integration not only within
the firewall, but also with diverse business partners and customers, it became clear that
the path to success lay not in tightly-coupled, proprietary systems, but in the adoption of
integration technologies based on open standards. This is the fundamental differentiator
and the key to the success of Web services.
For developers, Web services present a nearly limitless world of new opportunities.
Because of the fundamental issues they address, Web services are pertinent to the
entire spectrum of today's software, from rich Windows applications, to thin-client Web
applications to the emerging market of mobile device software. For Visual Basic
developers, Web services represent a new era in component creation and reuse. From
day one, Visual Basic developers have been avid consumers of preexisting
components. With XML Web services, the ability to consume components is vastly
expanded to the Internet, across firewalls and even to other operating systems. And
with Visual Basic .NET, the ability to call this remote functionality is as easy as setting a
reference to an existing COM component in VB 6.0. Building XML Web services in
Visual Basic .NET is just as effortless. In fact, if you've ever written a class in Visual
Basic 6, you're well on your way to creating Web services that can be deployed locally,
on your corporate Intranet, or on the Internet itself.
In Creating and Consuming Web Services in Visual Basic, the authors cover the basics
of XML Web service construction and consumption as well as numerous advanced
topics associated with Web-service development. Their practical approach to describing
the concepts of Web services will have you up and running in the first chapter. From
there, you'll discover and implement Web services that address pertinent issues of
security, state management, and asynchronous calls as well as the ever-important
bottom line: how Visual Basic .NET and XML Web services can save your business
money, promote integration with business partners and customers, and reduce your
project's time to market.
As we enter a new era in component development and reuse, Visual Basic .NET and
XML Web services empower us as VB developers to continue to be on the cutting edge
of application development. And with this book, you've already taken the first step to
understanding and implementing these crucial components that will take our Visual
Basic applications to the next level.
Ari Bixhorn
Product Manager
Visual Basic .NET
Microsoft Corporation
About the Authors
Scott Seely works for Microsoft. He is a member of the MSDN Architectural Samples team
bringing you content in the form of the Favorites Web Service and Web Service How-To (if
the content was on interop with other toolkits, Scott probably wrote it) and as coauthor of
the "At Your Service" Voices column on msdn.microsoft.com. He has authored two other
books for Prentice Hall-PTR: Windows Shell Programming and SOAP: Cross Platform Web
Service Development Using XML. When not thinking about Web Services, Scott likes to go
hiking or on bike rides with his family.
Eric A. Smith works as an independent consultant, author, and trainer in the Indianapolis
area. He is also the owner of Northstar Computer Systems (www.northcomp.com), a value-
added reseller and Web hosting company. His company was one of the first to offer
commercial .NET hosting services to its clients. Eric has written or contributed to 12 books
covering Microsoft technologies, including ASP.NET at Work: 10 Enterprise Projects
(Wiley). He can be reached at eric@northcomp.com.
Deon Schaffer has been developing with Visual Basic and other Microsoft technologies for
more than seven years. For several years now, Deon's focus has been on designing and
developing Windows DNA applications. Recently, he has concentrated specifically on
Microsoft's .NET initiative.
Deon has a Bachelor's degree in Industrial Engineering with a major in Information Systems
Engineering from the Ben-Gurion University in Be'er Sheva, Israel. He is also a Microsoft
Certified Solutions Developer(MCSD). Deon is a senior consultant at Information Strategies
in Washington, DC. He can be reached at Deon_Schaffer@hotmail.com.
About the Technical Editors
Ken Cox is a technical writer and Web developer in Toronto. A Microsoft Most Valuable
Professional (MVP), Ken is a frequent contributor to computer books and magazines
dealing with Microsoft technologies, especially ASP.NET. Before turning his interests to
computers and things high-tech, Ken had a successful career as a broadcast journalist in
Toronto and Quebec City. Contact Ken at kjopc@hotmail.com.
Jawahar Puvvala currently works as a senior developer. He has a great deal of experience
in Microsoft and Java technology and has designed and developed several enterprise level
systems. J.P. has two Master's degrees (Hong Kong University of Science and Technology
and Florida Institute of Technology) and holds MCSD, MCSE, and MCDBA certifications.
He has published several conference and journal papers.
Acknowledgments
I have to start out by thanking my wife, Jean, and my children for their patience while
Daddy wrote another book. I don't think that they were ready for this so soon.
Fortunately, this is a team effort, and I had help from some great coauthors. Because of
them, I don't feel quite so burned out this time around.
I would like to thank Tim Moore at Prentice Hall for giving me an excuse to learn about
SOAP, starting with his little note back in December of 1999 saying "So, what do you
think?". By getting really involved with the protocol, I have had an opportunity to meet
many great people (you know who you are) and do great things (working at Microsoft
ROCKS!).
I'd like to thank Kent Sharkey and Michael Edwards for talking me into going to
Microsoft to help shape how people use XML Web Services (the broader term
describing SOAP and its related technologies). By working there, I've had an
opportunity to work and cooperate with others active in shaping where Web Services
are taking us. This includes folks outside Microsoft. I really feel that this is a community
effort and that it is working very well.
Thanks to Kenn Scribner and Mark Stiver for introducing me to the good folks at Sams
Publishing. I told the Sams people that I never want to write a book on my own again
(I've done so twice already), but that I would gladly be part of a larger team. They said
"cool" and provided a good opportunity to help out within a few weeks of my opening my
mouth. In case you are curious why I am thanking Sams Publishing in a book published
by Addison-Wesley, some of the team working on the book was reorganized into
Addison-Wesley from Sams early in 2002. Many of their titles went with them, including
this one. As a result, the team has never changed, just the name of the imprint.
While reviewing the Scribner and Stiver book, Applied SOAP: Implementing .NET XML
Web Services, I got to work with Laurie McGuire. I was excited to hear that Laurie would be
the development editor on this text as well. Laurie never leaves me waiting for material and
is patient when I slip delivery by a day or two. Finally, I want to thank Linda Engelman for
passing my name to Sondra Scott. Sondra really believed in this book and thought it should
be written. I hope she is happy about what we all created. I know that I am.
—Scott
First of all, I give God the glory for giving me the strength to get this book done. My wife
and daughter were understanding, as usual, with Daddy having to lock himself in his
office every so often. Sondra Scott and Laurie McGuire were understanding and helpful
in getting the manuscript into shape. Scott Seely provided good guidance on the
chapters that I contributed. Thanks to all!
—Eric
Introduction
Applications of Web Services
What You Will Need
Who Is This Book For?
Part I. The Basics
Chapter 1. Create Your First Web Service
The "Hello World" Operation
Other Files in the Project
Passing Complex Types
Returning Arrays of Simple Types
Returning Arrays of Structures
Summary
Chapter 2. Consuming Your First Web Service
Attaching a Web Reference
Command-Line Interface Applications
Graphical User Interface (GUI) Applications
Web Applications
Web Services Calling Other Web Services
Summary
Chapter 3. SOAP, WSDL, and UDDI Explained
SOAP
WSDL
UDDI
Summary
Chapter 4. Shaping the WSDL, XML, and SOAP Message
Shaping the WSDL File
Creating a Custom SOAP Extension
Creating a Server Based on a WSDL File
Using Visual Studio to Register Your SOAP Endpoint in UDDI
Summary
Chapter 5. Troubleshooting Web Services/Consumers
Viewing SOAP Message Exchanges
Debugging a Web Service at the Server
Debugging a Web Service Remotely
Debugging Web Services Under Load
Items to Include in Your Test Plan
A Simple Example
Summary
Part II. Going Deeper
Chapter 6. Security Issues with Web Services
Equipment Deployment
Authenticating Users
Guarding Data
Tracking User Activity
Summary
Chapter 7. Looking at the "Abilities"
Availability
Scalability
Manageability
Performance
Summary
Chapter 8. Asynchronous Web Services
Synchronous Versus Asynchronous Calls
Design Pattern for Asynchronous Method Calls
Calling a Web Service Asynchronously
Server to Server Asynchronous Communications
Summary
Chapter 9. Stateful Services
Benefits of Maintaining State: Performance and Scalability
Maintaining State with the Session Object
Maintaining State with the Application Object
Maintaining State with the Cache Object
Custom State Management
Summary
Chapter 10. Microsoft SOAP SDK
Using the SOAP Toolkit on the Server
Using the SOAP Toolkit on the Client
Summary
Chapter 11. Converting Legacy Applications to Web Services
Adding Web Service Support to COM+ Applications
Reusing an Existing COM Object Within a Web Service
Migrating from Visual Basic 6 to Visual Basic .NET
Summary
Part III. Solving Real-World Problems
Chapter 12. Business to Business XML Web Services
Choosing the Right Technology
Designing the Web Service
Building Elise's Emporium
Summary
Chapter 13. Business to Customer XML Web Services
Designing the Database
Designing the Application
Referencing the External Web Service
Creating the List Window
Adding the List Window Code
Designing the Stock Editing Window
Summary
Chapter 14. Platform Integration
Assembling the Tools
Building the Web Services
Building the Mobile Application
Summary
Chapter 15. Portals
Designing the Database
Configuring the Application
Adding the Business Objects
Creating the Web User Controls
Building the Web Pages
Summary
Chapter 16. Profiting From Your Web Services
Creating Services that Fill a Need
Decreasing Business Costs
Revenue Models
Marketing the Web Service
Summary
Appendix A. Additional Resources
XML General
General .NET Information
General Web Service Information
SOAP/XML Protocol
Remoting
UDDI
WSDL
Transactions
Tools
Security
ebXML
Sample Web Service
Index
Introduction
One of the more confusing items about Web Services regards defining exactly what and
why they are. Let's begin with why they exist.
Web Services exist to make it easier to integrate applications. Existing technologies include
Java RMI, CORBA, and DCOM. All of these technologies work over networked
environments and allow for application integration. This application integration is possible if
all the components are reachable over a LAN. However, when going out to the public
Internet, these networked applications start to break down. Another problem is that none of
these technologies work well for cross platform, cross language integration. Often, working
with one of these technologies ties you to a particular language, operating system, or toolkit
that must be uniform across the solution. In today's world, the odds of having all systems
being written in the same language or using the same operating system and
interconnection libraries is fairly small. Add to this a desire to connect these applications
across large distances using the Internet and you will find that almost all of these
technologies come up short. The necessity of addressing these shortcomings gave birth to
Web Services. So, what are they?
A Web Service is a programmatic interface that is accessible via the Internet. As such, it
must rely on standardized protocols. You may be aware of the various technologies
surrounding Web Services. SOAP (an abbreviation that does not really mean anything
anymore), Web Services Description Language (WSDL), and Universal Description
Discovery and Integration (UDDI) are just a few of the technologies that are a part of Web
Services. To make Internet accessibility a reality, SOAP v1.1 and v1.2 rely on existing,
widely deployed technologies. The de facto minimum requirements for Web Service
interaction state that the platform, whether client or server, must understand the following
standards:
• Hypertext Transfer Protocol (HTTP)
• Transmission Control Protocol/Internet Protocol (TCP/IP)
• eXtensible Markup Language (XML)
• XML Schema Definition (XSD)
Due to the wide adoption of the Internet and XML, it is extremely difficult to find an
operating system or programming language that does not have some support for these
standards. Because the interest in Web Services is building to a fever pitch, vendors and
individuals are rallying to make additional Web Service–specific tools available. While not a
silver bullet for interoperability woes, talking to other languages and platforms just got a lot
easier to do.
For many people, the promise of interoperability drew them into learning more about Web
Services. As a Visual Basic developer, this promise may have caused you to buy this book.
One question probably remains: How real is this promise of interoperability? For any two
implementations to work together, they typically have to agree on two items: what the
WSDL for a particular interface looks like and how to represent the SOAP message for any
given operation in XML. To this end, the many serious development teams and individuals
are working together to make sure they all agree.
At XMethods, http://www.xmethods.com/ilab, you can see a list of all the participants. This
page also describes what it means to pass or fail the set of tests, as well as the tests
themselves. If an implementation is not a part of this effort, you should steer clear of it. Yes,
the Microsoft implementations are active in this process.
Applications of Web Services
Before going too far into this book, you should understand some of the reasons for using a
Web Service:
Interface between languages where a binary interface does not exist or is inappropriate to
use— For example, you may want a Perl script to be able to talk to a Visual Basic interface.
Interface in between systems— For example, you may want to make a business application
on a mainframe accessible to boxes scattered throughout the business.
You need to allow a wide, unknown array of clients to access your application— This is a
common requirement in larger applications assembled using "best of breed" components.
You are exposing the functionality as a service for a fee— In this case, instead of inventing
your own protocol, use what Web Services provide to you. Examples include stock trading
services and access to research databases, among other things.
When creating a Web Service, make sure that the various APIs are stateless. If you must
maintain a pseudo-state, that state information should be obtainable from data passed in
the SOAP messages. For example, a Web Service may require that users be validated. To
do so, they log in and receive an authentication token. Other Web Service calls will require
that the token appear somewhere within the SOAP message. With this, you have state (the
user is "logged in") and this state is maintained over transient connections. Maintaining
state this way helps with scalability and will be covered in Chapter 6, "Security Issues with
Web Services."
What You Will Need
While you could run most of these examples using the free Microsoft .NET Framework
SDK, you will get the greatest benefit and productivity by using Visual Studio .NET. This
book assumes that the reader has Visual Studio .NET installed. This book will still be
valuable to users with only the SDK, but many things will be harder to do.
You should also have a copy of the Microsoft SOAP Toolkit v2 installed on your machine.
Yes, install this even if all you do is program .NET applications. The toolkit comes with an
application called MSSOAPT.EXE. This application allows you to review the SOAP
messages going between the SOAP endpoints.
The machine that you are developing on must have Internet Information Server (IIS)
installed. Without it, you will not be able to run the examples in the book or develop Web
Services on your local machine. This is only available on Windows NT 4.0, Windows
2000, and Windows XP. The good news is that all versions of these operating systems
can host IIS. On the Professional versions of XP and 2000, you need to explicitly install
IIS. You can do this through the Add/Remove Programs Control Panel applet. Refer to
your Windows documentation for instructions. NT 4.0 Workstation can host IIS 4.0. This
is available through the Windows NT 4.0 Option Pack.
Finally, it would help to have a good book on Visual Basic .NET handy. Learn Visual Basic
.NET in 21 Days by Kent Sharkey and Duncan MacKenzie is one text that would work
nicely. Their book serves as an overview of the language.
Who Is This Book For?
Because Web Service development with Visual Basic will attract Internet-savvy developers,
Visual Basic application developers, and hobbyists, a wide range of people will be picking
up this text and reading it. You do not necessarily need a lot of experience with the latest
version of Visual Basic. That said, you should know that the language has changed a bit
and has become more flexible. If you have not made yourself familiar with the changes, you
should plan on updating your knowledge on Visual Basic .NET specifics along with this
book.
You probably bought this book for one of two reasons:
• You want to learn how to write code that uses Web Services just to keep up to
date.
• You just found out that you need to expose your application to outside
applications and you need to learn this stuff as fast as possible.
With these goals in mind, this book is organized into the following parts:
Part I: The Basics— Part I gets you programming right away. Almost everyone should, at a
minimum, skim all of Part I before proceeding through other chapters.
Keep in mind that the examples presented in Chapters 1, "Create Your First Web
Service," and 2, "Consuming Your First Web Service," are appropriate for only
one reason—they teach the concepts without burying you in special techniques.
You would never offer these to internal applications or external partners, but they
are very useful for getting you started learning the basics of Web Services. In
subsequent chapters, you will tackle practical and realistic examples.
Part II: Going Deeper— Part II covers some of the more advanced Web Service topics. In it,
we examine securing a Web Service and tradeoffs you can make to maximize the
scalability, reliability, and manageability of a Web Service. With some of the Web Services,
you will have a need to maintain some kind of state in between Web Service calls. Different
techniques for maintaining that state are useful depending on the circumstances. This
section closes out with a look at Web Service enabling existing applications written using
Visual Studio 6.0 and the Microsoft Web Services Toolkit.
Part III: Solving Real-World Problems— Part III examines the uses of Web Services in real
world situations. Web Services can be used to enable integration between business
partners and customers. Within your own business, you can use Web Services to tie your
heterogeneous computing environment together. The section closes out with a look at how
this investment in Web Services can help improve your business's bottom line.
Now, let's jump right in and learn how to write Web Services!
Part I: The Basics
This section allows you to jump right in by creating and using a very simple Web Service.
Then, you'll take a look at features such as SOAP, WSDL, UDDI, how they work and how
you can take advantage of them through the XML and Web Service-specific attributes in
.NET. You conclude your study of the basics by learning how to find and fix any bugs in the
Web Services you create and consume.
IN THIS PART
1 Create Your First Web Service
2 Consuming Your First Web Service
3 SOAP, WSDL, and UDDI Explained
4 Using Attributes to Shape WSDL and XML
5 Troubleshooting Web Services/Consumers
Chapter 1. Create Your First Web Service
IN THIS CHAPTER
• The "Hello World" Operation
• Other Files in the Project
• Passing Complex Types
• Returning Arrays of Simple Types
• Returning Arrays of Structures
If you have never written a Visual Basic .NET Web Service before, you are in the right
place. You may be under the impression that Web Services are hard to write and deploy.
With many toolkits, that impression is 100% correct. Fortunately, .NET was designed with
Web Services in mind, making their coding and deployment an easy task. As someone who
has used several of the more popular toolkits out there, I can honestly say that .NET is by
far the easiest to use.
In this chapter, we are going to develop a Web Service that exposes a set of operations
that demonstrate what .NET can do for you without you knowing a thing about what is going
on under the covers. The demonstration will showcase the following items:
• A "Hello World" operation that shows the basics
• Returning a simple structure
• Returning an array of simple data types
• Returning an array of complex data types
The reason we are focusing on returning the items instead of passing them as arguments is
simple—.NET will allow me to show you the results of the operations through Internet
Explorer. To do so, all I have to do is make sure that none of the operations takes a
complex type as an argument. In Chapter 2, "Consuming Your Web Service," we will look at
how easy it is to write a client for this Web Service.
Let's dig in!
The "Hello World" Operation
Before you get the idea that "Hello World" is just a silly little example, consider that "Hello
World" can do a great job diagnosing some basic problems. If a machine has an endpoint
that returns a simple string when called correctly, programs using that code can perform
simple tests to see if they can connect to the server.
The good news for us is that the wizards inside Visual Basic .NET will write this operation
for us. To get there, we need to go through the Visual Studio IDE and create a new project.
To do so, perform the following steps:
Open up Visual Studio .NET.
Select File, New Project.
Select the following items in the New Project dialog ( (as shown in Figure 1.1):
o Project Types: Visual Basic Projects
o Templates: ASP.NET Web Service
o Name: Chapter1
o Location: http://localhost
Figure 1.1. Creating a Visual Basic .NET Web Service project.
Click OK.
At this point, the IDE will create the Web Application on your local machine and generate
the files needed for your Web Service. A skeleton class for a Web Service will be created
as well. This class is always named Service1. Few people actually want a class named like
this. To get a class with a meaningful name, you have two options—rename everything or
delete Service1.asmx from the project and create a new class with a better name. Deleting
the existing class has the added advantage that you will not miss some tiny detail. To
delete Service1.asmx from the project, simply right-click the filename and select Delete.
When the IDE warns you that the file will be permanently deleted, press OK. Now, let's add
a new, better-named class to the project.
In the IDE, select Project, Add Web Service.
In the Add New Item dialog, name the Web Service FirstService.asmx (see Figure
1.2).
Figure 1.2. Adding a Visual Basic .NET Web Service Class.
Click Open.
You should now be looking at a screen similar to the one shown in Figure 1.3. From here,
click the text Click Here to Switch to Code View. The wizard generated the sample in Listing
1.1 just for you.
Figure 1.3. IDE immediately after adding a new .NET Web Service Class.
Listing 1.1 Wizard-Generated Code for Web Service
Public Class FirstService
Inherits System.Web.Services.WebService
#Region " Web Services Designer Generated Code "
Public Sub New()
MyBase.New()
'This call is required by the Web Services Designer.
InitializeComponent()
'Add your own initialization code after the
InitializeComponent() call
End Sub
'Required by the Web Services Designer
Private components As System.ComponentModel.Container
'NOTE: The following procedure is required by the Web Services
Designer
'It can be modified using the Web Services Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As
Boolean)
'CODEGEN: This procedure is required by the Web Services
Designer
'Do not modify it using the code editor.
End Sub
#End Region
' WEB SERVICE EXAMPLE
' The HelloWorld() example service returns the string Hello
World.
' To build, uncomment the following lines then save and build
the project.
' To test this web service, ensure that the .asmx file is the
start page
' and press F5.
'
'<WebMethod()> Public Function HelloWorld() As String
' HelloWorld = "Hello World"
'End Function
End Class
To enable the HelloWorld function, simply uncomment three lines of code.
<WebMethod()> Public Function HelloWorld() As String
HelloWorld = "Hello World"
End Function
If you have not used Visual Basic .NET before, the statement before the keyword Public
may look a bit odd. The value in angle brackets (< >) is an attribute. The languages
shipping with .NET all allow for the use of attributes before class declarations, member
variables, or methods. The attributes are specific to the data immediately following them.
Instead of creating extra executable code, attributes provide metadata for the functions.
When the Common Language Runtime (CLR) encounters that metadata, it may execute
code or generate some other behavior. We will cover the attributes specific to Web
Services in Chapter 4, "Using Attributes to Shape WSDL and XML."
When the CLR sees the attribute <WebMethod()> when loading a class through an .asmx
file, it knows to expose the method as a part of a Web Service. Web Services themselves
only need to derive from the base class System.Web.Services.WebService to be able
to access the ASP.NET Session and Application objects. You could just as easily not derive
from System.Web.Services.WebService and still have a fully functional Web Service.
To build the project, go to the Build menu and select the Build option. To see if everything
worked, open Internet Explorer and navigate to
http://localhost/Chapter1/FirstService.asmx. After doing this, you should be
presented with the screen shown in Figure 1.4. The page contains a warning that we will
explore shortly.
Figure 1.4. What ASP.NET presents for a .asmx page.
To get the screen shown in Figure 1.4 and any other links we might follow from this page,
we had to do no work. Instead, ASP.NET generates the pages for us by using the .NET
reflection APIs. We will cover how this all works in Chapter 4. Just know that .NET makes
your life very easy.
On the generated page, you will see a link to the HelloWorld operation. If you follow that
link, you will be presented with a page that allows you to call the function and that outlines
how to call the function using SOAP, HTTP/GET, and HTTP/POST. You see the general
format of the message exchange—what to send and what to expect in return. This is
another helpful piece of documentation that ASP.NET writes for you (see Figure 1.5). This
page also allows you to call the Web Service by clicking the Invoke button.
Figure 1.5. Documentation ASP.NET generates for a Web method.
When you press Invoke, Internet Explorer will not use SOAP to call the underlying function.
Instead, it will call the Web Service using HTTP GET.
The actual exchange will look like the following:
Request:
GET /Chapter1/FirstService.asmx/HelloWorld? HTTP/1.1
Host: localhost
Response:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">string</string>
Clicking Invoke, we get the following response:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">Hello World</string>
For most of this book, we will only work with SOAP requests and responses. A SOAP
Request/Response typically has this format:
<Envelope>
<Header></Header>
<Body>[interesting stuff here]</Body>
</Envelope>
But, Web Services can exist outside of the SOAP protocol. You can also send XML in a
regular HTTP GET or POST request and return raw XML from that same request. When
you do this, you are using Web Services in their simplest forms. To create the fancier, more
powerful messages, only SOAP will work.
You will see a lot of messages in this chapter and the next. The idea is for you to become
comfortable reading the messages. Outside of some special properties of the SOAP
Envelope, your messages will be primarily Body content. That content is regular XML and
only loosely related to SOAP. This book assumes you are already familiar with XML and
that is why we start out with the simplest Web Service messages possible: HTTP
GET/POST.
Other Files in the Project
Before we run headlong into the remaining examples, let's take a moment and see what
other files got included in the project and where they sit on your hard drive. Looking at the
Solution Explorer pane in Figure 1.3, you see the following files in your project:
AssemblyInfo.vb Contains version information related to the Visual Basic project.
[Project Name].vsdisco Contains the dynamic discovery information for this Web
Service. The ASP.NET runtime uses this to discover and list all the Web Services hosted
on a particular machine.
Global.asax Use this class to add handlers called by the ASP Application and
Session objects. Web Services must derive from System.Web.Services.WebService
to get access to these objects.
Web.config Configuration information related to the Web application. You can use this file
to specify database connection strings, security settings, globalization settings, and other
application-specific items.
By the time you are done reading this book, you will see the importance of Web.config
because we will use it frequently. .NET uses config files extensively. These files are meant
to replace static Registry settings. As an added bonus, they allow you to specify data that
influences program behavior in an easy-to-use format. You can experiment with security,
change databases, or edit application-specific settings without rebuilding the program. For
example, let's say that we wanted to change the default string that our HelloWorld
returned. To do this, we would open up Web.config and add the following section as a
child element of the configuration root element:
<appSettings>
<add key="ReturnString" value="I love config files!" />
</appSettings>
You should know that the elements not in quotes must appear as is. The add element has
two attributes—key and value. When accessing application settings, you access them by
key to get the associated value. Each key must be unique. After this XML is entered into
Web.config, modify HelloWorld to read the ReturnString value from the
configuration file.
<WebMethod()> Public Function HelloWorld() As String
HelloWorld = System.Configuration.ConfigurationSettings. _
AppSettings.Get("ReturnString")
End Function
Now, when you invoke HelloWorld via the ASP.NET–generated interface, it returns the
following:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">I love config files!</string>
And yes, if you change the value attribute while the program is running, the program will get
the new data the next time it goes to look. In the Web.config file, you will spend more
time modifying appSettings than doing anything else. The first time you go into
Web.config, the appSettings element does not exist. After you add it, if you need
additional key/value pairs stored, just add them to the one appSettings element. For
example, to add another element, the appSettings section would expand as follows:
<appSettings>
<add key="ReturnString" value="I love config files!" />
<add key="AnotherKey" value="Another Value" />
</appSettings>
Let's continue the example by having it handle a class object.
Passing Complex Types
ASP.NET makes it exceptionally easy to pass complex types as Web Service arguments
and return values. If the complex type is passed as a method argument, ASP.NET will only
be able to support SOAP messaging. This is because no definition exists to describe how to
pass complex types as arguments via HTTP/GET or HTTP/POST. You can return complex
types via these methods. So that we can see the immediate results of our coding via
Internet Explorer, we will return the type.
Many people who learn of this functionality are often surprised to find out that when a value
is passed via a Web Service, only the publicly visible fields are serialized. The receiver of
the object has no access to any methods that the object may expose. Instead, the recipient
of the object must already know what to do with the object when it is received. If you need
to pass objects with methods intact, do not use Web Services. The Common Language
Runtime (CLR) within .NET provides mechanisms when object identity and object value
must be preserved. Web Services can only preserve the public object values.
To keep things simple, we will create a class called Person. Person will contain a Name
object and a date for the person's birthday. Listing 1.2 shows a pair of classes that form a
complex type. Name contains three strings and is itself a complex type. Person makes it a
little more interesting for serialization because it must also serialize a Name inside.
Listing 1.2 Source for Name and Person Objects
Public Class Name
Public First As String
Public Middle As String
Public Last As String
End Class
Public Class Person
Public theName As Name
Public birthDay As Date
Public Sub New()
theName = New Name()
End Sub
End Class
So far, so good. Now, we need to add a Web Method to the FirstExample object that
returns a Person, as shown in the following code:
<WebMethod()> Public Function GetPerson() As Person
GetPerson = New Person()
GetPerson.birthDay = System.DateTime.Parse("April 5, 1972")
GetPerson.theName.First = "Scott"
GetPerson.theName.Middle = "Christopher"
GetPerson.theName.Last = "Seely"
End Function
To test things out, we navigate over to
http://localhost/Chapter1/FirstService.asmx and click GetPerson. Here, we
see that the request and response via Internet Explorer will be fairly plain:
Request:
GET /Chapter1/FirstService.asmx/GetPerson? HTTP/1.1
Host: localhost
Response:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<Person xmlns="http://tempuri.org/">
<theName>
<First>string</First>
<Middle>string</Middle>
<Last>string</Last>
</theName>
<birthDay>dateTime</birthDay>
</Person>
When we invoke the method, the Web Service responds as expected with the following:
<?xml version="1.0" encoding="utf-8"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://tempuri.org/">
<theName>
<First>Scott</First>
<Middle>Christopher</Middle>
<Last>Seely</Last>
</theName>
<birthDay>1972-04-05T00:00:00.0000000-07:00</birthDay>
</Person>
As you can see, the Person element came across with two sub-elements—theName and
birthDay. The amazing part here is that no object-specific code had to be written to write
it out as XML.
Returning Arrays of Simple Types
ASP.NET treats arrays of simple types as a list of items. Like everything we have seen so
far, developers have little to think about other than stating that an array is being passed in
or returned. To demonstrate the power here, we will write a Web Method in Listing 1.3 that
returns an array of random numbers. As arguments, it will take the number of items to be
returned as well as the smallest and largest permissible values to be returned.
Listing 1.3 Source for the FirstService.GetRandomNumbers Function
<WebMethod()> Public Function GetRandomNumbers( _
ByVal arraySize As Long, ByVal min As Long, _
ByVal max As Long) As Long()
Dim retval(arraySize - 1) As Long
Dim rnd As New System.Random()
Dim index As Long
For index = 0 To retval.Length - 1
retval(index) = rnd.Next(min, max)
Next
GetRandomNumbers = retval
End Function
The code creates an array of size arraySize and a random number generator. Using the
random number generator, the code loops through all the elements assigning them different
values, and then returns those values to the caller. The Next function takes two values and
returns a random number within that range. The return value from this function will be as
small as the minimum value but never as large as the maximum. In mathematical terms,
Next returns a value in the range (min, max). When testing this function from Internet
Explorer, we will continue to use HTTP/GET. The message exchange will look something
like the following:
Request:
GET /Chapter1/FirstService.asmx/GetRandomNumbers?
arraySize=string&min=string&max=string HTTP/1.1
Host: localhost
Response:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfLong xmlns="http://tempuri.org/">
<long>long</long>
<long>long</long>
</ArrayOfLong>
To get five values between –1000 and 1000, I would fill in the generated form as shown in
Figure 1.6. The outgoing request is then formatted within the URL as
http://localhost/Chapter1/FirstService.asmx/GetRandomNumbers?arrayS
ize=5&min=-1000&max=1000. This request returns the XML shown in Listing 1.4.
Figure 1.6. Using the ASP.NET–generated Web page to call GetRandomNumbers.
Listing 1.4 Returned XML for call to GetRandomNumber
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfLong
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://tempuri.org/">
<long>-593</long>
<long>203</long>
<long>-158</long>
<long>799</long>
<long>20</long>
<long>-930</long>
</ArrayOfLong>
Simple arrays get passed around all the time. It may be a list of temperatures, dates,
strings, or something else. Arrays of structured data are equally common.
Returning Arrays of Structures
Many times, applications need to return arrays of structured data. Frequently, this data is
stored in a database or on a device and needs to be transmitted en masse. For example,
when requesting the details of a purchase order, it makes sense to return the lines and
delineate the parts of the line. A line item might contain the following details:
• Part number
• Part name
• Part description
• Quantity ordered
• Price per part
As we saw with the GetPerson example, a bit of structured data can contain other
structures. Likewise, arrays can appear anywhere within the data. Arrays are very powerful
and are often quite handy. Fortunately, .NET handles these well too. To keep things simple,
we will not introduce any new classes for this example (see Listing 1.5). Instead, we will
take an example that returns an array of names. This example will return a list of all the
authors (contributing authors included) involved with this book.
Listing 1.5 Source for the FirstService.GetAuthorNames Function
<WebMethod()> Public Function GetAuthorNames() As Name()
Dim firstNames() As String = {"Scott", "Michael", "Jeffrey",
"Deon"}
Dim lastNames() As String = {"Seely", "Carnell", "Huntsman",
"Schaffer"}
' Array will be dimensioned 0 to firstNames.Length - 1. The
' assumption here is that firstNames.Length == lastNames.Length
Dim retval(firstNames.Length - 1) As Name
Dim index As Long
' Instantiate the four names
For index = 0 To retval.Length - 1
retval(index) = New Name()
retval(index).First = firstNames(index)
retval(index).Middle = ""
retval(index).Last = lastNames(index)
Next
GetAuthorNames = retval
End Function
To make things very simple, all the first names are stored in one array and the last names
in another. Then, as the code loops through initializing the individual array elements, it also
sets the values for the Name.First, Name.Middle, and Name.Last. Again, we will test
this Web Method using the HTTP/GET interface. The message exchange will look like the
following:
Request:
GET /Chapter1/FirstService.asmx/GetAuthorNames? HTTP/1.1
Host: localhost
Response:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfName xmlns="http://tempuri.org/">
<Name>
<First>string</First>
<Middle>string</Middle>
<Last>string</Last>
</Name>
<Name>
<First>string</First>
<Middle>string</Middle>
<Last>string</Last>
</Name>
</ArrayOfName>
When choosing the Invoke button on the generated Web page, the names are returned with
the following XML:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfName
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://tempuri.org/">
<Name>
<First>Scott</First>
<Middle />
<Last>Seely</Last>
</Name>
<Name>
<First>Michael</First>
<Middle />
<Last>Carnell</Last>
</Name>
<Name>
<First>Jeffrey</First>
<Middle />
<Last>Huntsman</Last>
</Name>
<Name>
<First>Deon</First>
<Middle />
<Last>Schaffer</Last>
</Name>
</ArrayOfName>
Once again, the serialization is done without any effort on the developer's part.
Summary
Visual Basic, working together with the .NET runtime, gives developers the ability to easily
create Web Services with little or no knowledge of XML, SOAP, or the underlying
machinery. Because you will rarely have to concern yourself with the particulars, you can
concentrate on developing good, solid code. You can easily pass around simple and
complex types, as well as arrays.
In this chapter, we tested the various functions by using the HTTP/GET interface. Web
Services can typically be accessed via HTTP/GET, HTTP/POST, and SOAP. The rest of the
book will concentrate on talking to Web Services using SOAP. The messages are slightly
different from what we showed here. We will look at the SOAP messages being exchanged
between the client and server. As a Web Service programmer, you will find it helpful to
become very familiar with what these messages look like. Chapter 3, "SOAP, WSDL, and
UDDI Explained," will cover the SOAP protocol in detail.
Chapter 2. Consuming Your First Web Service
IN THIS CHAPTER
• Attaching a Web Reference
• Command-Line Interface Applications
• Graphical User Interface (GUI) Applications
• Web Applications
• Web Services Calling Other Web Services
In the previous chapter, we created a Web Service that showed the variety of things you
could do. The next thing we need to cover is consuming that Web Service. It might have
many different types of clients. Anything that can talk to a Web Service might come calling.
The following are just a few examples of the entities that might call your Web Service:
• Command-line interface (CLI) applications
• Graphical user interface (GUI) applications
• Web applications
• Other Web Services
When using Visual Basic .NET, the code you write to talk to a Web Service does not vary
based on the client type. To emphasize that point, we will build a simple example for each
of the four different Web Service clients just mentioned. Each example will only access one
of the methods the Web Service exposes. To test your understanding of the subject matter,
I encourage you to work along with the examples. After you complete the chapter, modify
the individual example applications to access Web Methods not used by that example.
We will begin by looking at how you attach a Web reference. Regardless of application
type, you always attach a Web reference the same way.
Attaching a Web Reference
Visual Studio .NET has a special name for the machinery that hooks up a Web Service
client to the server—Web reference. A Web reference consists of the WSDL (Web Services
Description Language) and any related disco files. It also includes the automatically
generated code that the client uses to call the Web Service. We call this generated code
the proxy.
NOTE
What is a disco file? It's a term for the Web Service discovery files. A given Web Service
application may have multiple Web Services running within the same .NET binary. The
disco file enumerates the services available within that binary by listing the paths to the
WSDL files. Within .NET, that typically maps to a listing of all the .asmx files in the directory
with the string "?WSDL" appended to the end of the filename.
When we hook up a Web Service, we can do so two ways—through command-line tools or
through the Visual Studio IDE. In this text, we will concentrate on using the Visual Studio
IDE. If you want to use the command-line tool WSDL.EXE, please refer to the Framework
SDK documentation.
So that you can follow along with these instructions, create a simple Visual Basic
application in the Visual Studio IDE. The application type does not matter much, but to keep
things simple, I recommend creating a Console Application. Let's attach to the Chapter1
Web Service using the IDE by following these steps:
Select Project, Add Web Reference.
In the Add Web Reference dialog, go to the Address combo box and type
http://localhost/Chapter1/chapter1.vsdisco (see Figure 2.1).
Figure 2.1. Adding a Web reference through the Visual Studio .NET IDE.
Click Add Reference.
NOTE
Besides using the IDE, there are other ways to add references to Web Services. When you
first open the Add Web Reference dialog, the opening screen (shown in Figure 2.2) shows
that you have the option to view Web references that reside on the Local Web Server.
Figure 2.2. The startup view of the Add Web Reference dialog.
You can also add a Web reference by browsing straight to the WSDL file of the Web
Service. To get the WSDL file for the Chapter1 Web Service, the URL would be
http://localhost/Chapter1/FirstService.asmx?WSDL. In this case, you would
still click Add reference to create the proxy.
At this point, the Web reference has been added to the project and is contained in the
localhost namespace. . When the IDE creates the proxy, the IDE automatically places
the proxy in a separate namespace. The namespace comes from the start of the URL that
helped grab the namespace in the first place. If you do not like the IDE chosen namespace,
you can easily change the namespace. Just go to the Solution Explorer pane within the
IDE, navigate to the Web references node, and right-click the Web reference you want to
change. In our case, we right-click on the node underneath the Web Reference named
localhost and select Rename from the pop-up menu (see Figure 2.3). Rename
localhost to something slightly more meaningful: Chapter1.
Figure 2.3. Manipulating the namespace associated with a Web reference.
Now that this has been completed, we can also look at doing some other interesting things.
In Chapter 1, "Create Your First Web Service," I indicated that the application configuration
file would be something with which you should get very familiar. We are going to continue
our education by looking at how we can get our Web Service to read the endpoint URL from
the configuration file.
In the IDE, go to the Solution Explorer pane and click the Chapter1 node underneath the
Web References node. In the Properties pane, you should see the list of properties for the
Web reference (see Figure 2.4). One of the properties is URL Behavior. This item can be
static or dynamic. Static behavior means that the URL never changes and is stored in the
proxy object base on the endpoint listed in the WSDL file. If the endpoint changes and you
want to avoid rebuilding the application every time the Web Service does move, you can tell
the application to look for the endpoint URL in the application configuration file by setting
the URL Behavior to Dynamic. Under the covers, what is happening?
Figure 2.4. Changing the URL Behavior property related to a Web reference.
To answer that question, we need to look at the proxy that the IDE generates for us. That
proxy is located in a subdirectory of the main project. On my machine, this is located in My
DocumentsVisual Studio ProjectsChapter2CLIWeb
ReferencesChapter1FirstService.vb. When the URL Behavior property is set to
Static, the constructor of the proxy looks like the following:
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New()
Me.Url = "http://localhost/Chapter1/FirstService.asmx"
End Sub
When the URL Behavior property is set to Dynamic, the constructor of the proxy changes to
the code shown in Listing 2.1.
Listing 2.1 Proxy Constructor with URL Behavior Set to Dynamic
<System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New()
Dim urlSetting As String = _
System.Configuration.ConfigurationSettings.AppSettings( _
"Chapter2CLI.Chapter1.FirstService")
If (Not (urlSetting) Is Nothing) Then
Me.Url = String.Concat(urlSetting, "")
Else
Me.Url = "http://localhost/Chapter1/FirstService.asmx"
End If
End Sub
As you can see, the code for the Dynamic URL behavior is a little different. The Dynamic
lookup still defaults to the URL listed in the WSDL file. For reference, Listing 2.2 shows the
service section of the FirstService.asmx?WSDL file.
Listing 2.2 Service declaration From the FirstService.asmx?WSDL Listing
<service name="FirstService">
<port name="FirstServiceSoap" binding="s0:FirstServiceSoap">
<soap:address
location="http://localhost/Chapter1/FirstService.asmx" />
</port>
<port name="FirstServiceHttpGet"
binding="s0:FirstServiceHttpGet">
<http:address
location="http://localhost/Chapter1/FirstService.asmx" />
</port>
<port name="FirstServiceHttpPost"
binding="s0:FirstServiceHttpPost">
<http:address
location="http://localhost/Chapter1/FirstService.asmx" />
</port>
</service>
The proxy is a SOAP proxy, so it references the port named FirstServiceSoap and
getting the endpoint from the soap:address element. The dynamic setting allows me to
change this up a bit and access the Web Service using a URL defined in the application
configuration file in an appSetting key named
Chapter2CLI.Chapter1.FirstService. Because I used the IDE, this key has already
been placed in the app.config file. I can change this URL to hit my local machine by its
name, scottnb, instead of by localhost. The appSettings section now looks like the
following:
<appSettings>
<add key="Chapter2CLI.Chapter1.FirstService"
value="http://scottnb/Chapter1/FirstService.asmx"/>
</appSettings>
Command-Line Interface Applications
The simplest user interface is the command-line application. It uses the console for its input
and output. While not visually appealing, it often provides a fast and simple way to
accomplish tasks. For our CLI application, we will have it call the HelloWorld Web
Method and print the results. As you will recall, HelloWorld was modified in Chapter 1 to
read its value from the Web.config file associated with the Web Service.
The first things we need to do are open up Visual Studio and create a new project. In Visual
Studio, you will see CLI applications called console applications. Perform the following
steps to create the console application:
Select File, Project, New Project.
Select the following items in the New Project dialog:
Project Type: Visual Basic Projects
Templates: Console Application
Name: Chapter2CLI
Figure 2.5 shows what the dialog should look like.
Figure 2.5. Setting up the Chapter2CLI application.
At this point, you have a skeleton for a console application. The IDE should have an
opened file called Module1.vb. Our next task is to hook in the Chapter1 Web Service. To
do this, add a Web reference to http://localhost/Chapter1/Chapter1.vsdisco
and rename the namespace from localhost to Chapter1.
Your next step is to edit the Main subroutine. It will call HelloWorld, print the result to the
console, and then exit. The edited code looks as follows:
Sub Main()
Dim svc As New Chapter1.FirstService()
System.Console.WriteLine(svc.HelloWorld())
End Sub
It does not get any easier than this. Figure 2.6 shows the output of this application.
Figure 2.6. Running Chapter2CLI.
I also promised you that we would look at the SOAP message exchange that occurs under
the covers. The following is the request and response that occurred for our CLI application:
Request:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<HelloWorld xmlns="http://tempuri.org/" />
</soap:Body>
</soap:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<HelloWorldResponse xmlns="http://tempuri.org/">
<HelloWorldResult>I love config files!</HelloWorldResult>
</HelloWorldResponse>
</soap:Body>
Other documents randomly have
different content
Im Jahr 1829 haben keine Verkäufe stattgefunden; doch gingen in
demselben Gelder für die im vorhergehenden Jahre verkauften Parcellen ein.
Nachstehende Tabelle enthält die Summe der bewilligten Kron-Ländereien und
die
Bedingungen, unter welchen die Bewilligungen statt gefunden, — von 1823 bis
1832.
U n t e r - C a n a d a .
Jahr. Ansiedlern
vom
Militairstande
bewilligte
Ackerzahl.
Entlaßnen
Soldaten
und Pensionairs
bewilligte
Ackerzahl.
Offizieren
bewilligte
Ackerzahl.
Bewilligte
Ackerzahl,
welche unter keine
der
vorhergehenden
Rubriken gehört.
Gesammtzahl
der
bewilligten
Aecker.
1824 51,810 — — 4,100 34,859 90,769
1825 32,620 — — 1,000 16,274 49,894
1826 3,525 5,500 — — 48,224 57,249
1827 7,640 6,300 800 38,378 53,118
1828 7,300 — — 4,504 9,036 20,840
1829 3,200 — — — — 5,282 8,482
1830 18,425 — — 2,000 10,670 94,059
1831 9,400 8,273 3,408 9,990 30,981
1832 10,116 19,000 4,000 4,000 37,116
1833 5,200 22,500 1,200 — — 28,900
—— ——— ——— ——— ——— ———
Summa 212,236 61,573 21,012 176,623 471,444
B e d i n g u n g e n, die der Ansiedler zu erfüllen hat: — er muß
binnen neunzig Tagen zwanzig Fuß Straße auf seiner Parcelle lichten.
B e d i n g u n g e n für den Ansiedler vom Militairstande: — er ist
verpflichtet, in einem Zeitraum von drei Jahren vier Acker seiner Parcelle zu
lichten und zu cultiviren und ein Wohnhaus darauf zu erbauen.
O b e r - C a n a d a .
Jahr. An
Emigranten
vom
Militairstande
vertheilte
Ackerzahl.
Entlaßnen
Soldaten
und
Pensionairs
bewilligte
Ackerzahl.
Offizieren
bewilligte
Ackerzahl.
Bewilligte Acker,
welche in keine
der
vorhergehenden
Rubriken
gehören.
Loyalisten[61]
bewilligte
Ackerzahl.
Gesammtzahl
der
bewilligten
Aecker.
1824 11,100 5,800 5,500 134,500 30,200 187,800
1825 20,300 5,700 8,100 149,060 45,000 228,160
1826 16,600 3,100 4,700 19,390,500 24,800 69,590
1827 10,900 4,200 7,200 33,600,500 20,200 76,100
1828 10,800 900 3,000 4,304 30,800 49,804
1829 5,300 7,500 8,400 3,230 22,600 47,030
1830 6,400 12,500 12,600 9,336 27,400 68,236
1831 5,500 58,400 7,200 8,000 34,200 113,300
1832 19,300 97,800 7,600 6,100 62,600 193,400
1833 35,200 46,000 — — 9,100 135,600 225,900
Summa. 142,100 241,900 64,300 376,620 433,400 1,258,320
B e d i n g u n g: wirkliche Ansiedlung.
I . V e r k ä u f e u n d B e w i l l i g u n g e n v o n K r o n - L ä n d e r e i e n .
Folgende Tabellen, aus parlamentarischen Urkunden entlehnt, zeigen:
1) Die Menge der in Ober- und Unter-Canada seit 1828 bis 1833 (einschließlich)
v e r k a u f t e n Kronländer, nebst dem Durchschnitts-Preis für den Acker.
2) Stadt und Park-Parzellen, die während der nämlichen Periode in Ober-Canada
verkauft worden sind.
3) Die Menge von Kronländereien, die seit 1824 bis 1833, (einschließlich) ohne
Kauf bewilligt worden sind, nebst den Bedingungen, unter welchen diese
Bewilligungen erfolgt sind.
4) Betrag der für die Geistlichkeit vorbehaltnen Ländereien, welche in jedem
Jahre nach Beginn der Verkäufe unter Act 7 und 8 Geo. IV. c. 62. veräußert
worden sind.
Die im Jahr 1824, der Zeit, von welcher an die Zahlungen ihren Anfang nehmen,
in Gültigkeit tretenden Bedingungen, wurden in der Versammlung vom 20.
October, 1818 und vom 21. Februar 1820 auf gesetzlichem Wege festgestellt
und auf alle Klassen von Privilegirten ausgedehnt.
Die Bedingungen waren folgende: — Jeder Belehnte soll von je hundert
bewilligten Ackern, fünf Acker völlig lichten und einfriedigen; auf dem
gelichteten Boden ein Haus 16 Fuß tief und zwanzig Fuß breit bauen; und die
eine Hälfte der Straße (auf der Seite seines Besitzthums, und so weit als dieses
reicht) lichten, desgleichen einen Weg von seinem Hause nach der Straße
führen. Diese Straßen-Pflichten sollen als ein Theil d e r f ü n f A c k e r v o n
h u n d e r t (s. oben) betrachtet werden. Das Ganze muß binnen zwei Jahren,
vom Tage der Belehnung an gerechnet, vollendet, und nach dargethaner
Erfüllung der verzeichneten Bedingungen ein Patent ausgefertigt werden.
»Am 14. Mai 1830 wurde bei Schenkungen an verabschiedete Soldaten hierzu
noch eine Bedingung gefügt, welche den wirklichen persönlichen Aufenthalt des
Betheiligten auf der ihm bewilligten Stelle erforderlich macht, bevor er sein
Patent ausgefertigt erhalten kann.
»Am 14. November, 1830 wurden die damals hinsichtlich der Ansiedler Pflichten
bestehenden Verordnungen in voller Versammlung aufgehoben, und dagegen
der Befehl erlassen, daß jeder Belehnte die Straßen-Hälfte vor seiner Parcelle
lichten und auf einer Strecke von zehn Fuß, in der Mitte der Straße, die
Baumstummel so tief wegschneiden soll, daß Wagenräder darüber wegpassiren
können. Der Nachweiß sowohl dieser Pflichterfüllung als eines zweijährigen
Aufenthaltes auf dem bewilligten Grundstück berechtigt zu einem Patent.
»Blos verabschiedeten Soldaten und Seeleuten, unter diesem Gesetz, ist es zur
unerläßlichen Pflicht gemacht, drei Jahr vor Ausfertigung des Patentes ihr
respectives Grundstück zu bewohnen und zu verbessern.
»Am 24. Mai 1832 erließ die Versammlung einen Befehl, welcher in allen Fällen,
außer in dem, welcher verabschiedete Soldaten und Seeleute betrifft, die
bestehenden Anordnungen außer Kraft erklärte; und bestimmte, daß wofern
nachgewiesen würde, daß sich ein Ansiedler auf einer Parcelle thätig
niedergelassen, ein Patent ohne weiteres ausgefertigt werden solle.
Nachfolgender Auszug ist aus einem officiellen, von Mr. B u c h a n a n und
andern von der Regierung verpflichteten Emigrations-Agenten in Canada in
Umlauf gebrachten Bericht entlehnt: —
»Emigranten, welche in den beiden Canadas fruchtbaren Boden in wildem
Zustand käuflich von der Krone zu erlangen wünschen, dürfen auf jede nur
mögliche Erleichterung und jeden Vorschub von Seiten der öffentlichen
Autoritäten zählen. Beträchtliche Boden-Strecken werden in Ober-Canada
monatlich vermessen und zum Verkauf ausgeboten, desgleichen häufig auch
aller zehn oder vierzehn Tage, von den für die Kron-Ländereien installirten
Commissionairs, und zwar zu festgesetzten Preisen, die, je nach Lage und
andern Umständen, sich bald auf zehn, bald auf funfzehn Schillinge per Acker
belaufen, ausgenommen in den Gemeinde-Bezirken Sunnidale und
Nottawasaga, wo der für Kron-Ländereien festgestellte Preis blos fünf Schillinge
beträgt. In Unter-Canada bietet der Commissair für Kron-Ländereien zu Quebec
zu bestimmten Perioden, in verschiednen Gemeinde-Bezirken, den Acker zu 2
Schil. 6 D. bis 12 Schil. 6 D. (Halifax-Courant), unter der Bedingung terminlicher
Zahlungen, zum Verkauf aus. Auch von der Ober-Canada-Compagnie kann man
unter sehr annehmlichen Bedingungen wilden Boden kaufen; und solche,
welche sich nach dem Besitz einträglicher Pachte sehnen, können dergleichen
ohne große Schwierigkeiten von Privat-Grundeigenthümern erlangen. Man gehe
in keinem Fall ohne p e r s ö n l i c h e U n t e r s u c h u n g einen Kauf oder Pacht
ein und sehe dabei ins besondre auf nachstehende Eigenschaften: —
1) E i n e g e s u n d e L a g e .
2) G u t e n B o d e n .
3) R e i n e s Q u e l l - o d e r f l i e ß e n d e s W a s s e r.
4) E i n e g u t e m o r a l i s c h e u n d r e l i g i ö s e N a c h b a r s c h a f t ,
u n d d i e N ä h e v o n S c h u l e n z u r E r z i e h u n g d e r K i n d e r.
5) A u f d i e m ö g l i c h s t e N ä h e v o n g u t e n F a h r s t r a ß e n u n d
W a s s e r -Tr a n s p o r t , s o w i e v o n S ä g e u n d G r ü t z m ü h l e n .
6) E i n e n g u t e n T i t e l .
Für die Geistlichkeit vorbehaltne, in jedem Jahr seit Eröffnung der Verkäufe
unter den Gesetzen 7 und 8 Geo. IV. c. 62 verkaufte Ländereien, nach Ackern.
U n t e r - C a n a d a .
Jahr. Anzahl der
verkauften Acker.
Durchschnitts-Preis
für den Acker.
Betrag des im
ersten Jahr
eingegangenen
Kaufgeldes.
Gesammtbetrag der
Kaufsumme.
Shl. D. Pfd.St. S. D. Pfd.St. S. D.
1829 1,100 4 6 10 0 0 230 0 0
1830 9,956 4 93/4 543 17 0 1,610 3 0
1831 11,332 7 21/2 541 7 6 2,665 9 3[62]
1832 6,878 5 8 533 2 2 1,278 11 8
1833 37,278 8 21/4 3,454 11 6 12,791 17 5
—————
Summa 66,539 18,576 1 4
Drei Jahr sind die Frist, binnen welcher die ganze Kaufsumme
bezahlt werden muß.
O b e r - C a n a d a .
Jahr. Anzahl der
verkauften Acker.
Durchschnitts-Preis
für den Acker.
Betrag des im
ersten Jahr
eingegangenen
Kaufgeldes.
Gesammtbetrag der
Kaufsumme.
Shl. D. Pfd.St. S. D. Pfd.St. S. D.
1829 18,014 14 81/4 2,464 14 0 13,229 0 0
1830 34,705 13 6 6,153 5 9 23,452 4 0
1831 25,563 12 13/4 8,010 2 11 17,362 12 1
1832 48,484 13 32/4 10,239 9 7 32,287 19 8
1833 62,282 14 41/2 14,080 16 8 44,747 9 9
————— —————
Summa 192,049 131,079 14 10
Das ganze Kaufgeld muß nach Ablauf von neun Jahren bezahlt sein.
Außer der Kaufsumme sind bei jedem Termin auch die Interessen bezahlt
worden; wie sich aus nachstehender Uebersicht ergiebt.
Eingelaufne Interessen im Jahr 1829 Pfd. St. 1 7 3 Courant.
— — — — 1830 — — 62 16 1 —
— — — — 1831 — — 259 14 9 —
— — — — 1832 — — 473 17 2 —
— — — — 1833 — — 854 4 3 —
I I . N a c h r i c h t e n f ü r E m i g r a n t e n .
Im Jahr 1832 erließ der für Auswanderung von Sr. Majestät ernannte öffentliche
Ausschuß eine kleine Schrift[63], die in gedrängter Kürze einige nützliche
Belehrung enthält. Der Ausschuß besteht nicht mehr. An seine Stelle ist von der
Regierung J . D e n h a m P i n n o c k, Esq. als seiner Majestät Agent zur
Beförderung der Auswanderung von England nach den brittischen Colonien
ernannt. An diesen Herrn hat man sich in Auswanderungs-Angelegenheiten
beim Colonial-Bureau brieflich, unter der Adresse: An den Colonial-
Staatssecretair, zu wenden. Ein Hauptgegenstand seines Postens ist, den
Behörden der Kirchsprengel und Landeigenthümern, welche das Auswandern
von Arbeitern, Häuslern und dergl. aus ihren respectiven Distrikten zu befördern
wünschen, die genügende Auskunft zu ertheilen und die möglichsten
Erleichterungen zu verschaffen, und zwar besonders mit Rücksichtsnahme auf
die Emigrations-Clausel der Armen-Gesetz-Amendements-Acte.
Nachverzeichnete Agenten sind in den namhaft gemachten Häfen von der
Regierung ebenfalls mit Förderung der Auswandrer-Angelegenheiten beauftragt.
Liverpool — — Lieut. L o w, R.
N.
Bristol — — Lieut. H e n r y, R.
N.
Leith — — Lieut. F o r r e s t, R.
N.
Greenock — — Lieut. H e m m a n s, R.
N.
Dublin — — Lieut. H o d d e r, R.
N.
Cork — — Lieut. F r i e n d, R.
N.
Limerick — — Lieut. Ly n c h, R.
N.
Belfast — — Lieut. M i l l a r, R.
N.
Sligo — — Lieut. S h u t t l e w o r t h, R.
N.
Zu Quebec, ist Herr A. C. B u c h a n a n, Esq., Hauptagent der Regierung in
Auswanderungs-Angelegenheiten, stets bereit, jedem Emigranten, der um
seinen Rath nachsucht, die genügende Auskunft zu ertheilen.
Nachstehendes ist ein Auszug aus der im Jahr 1832 veröffentlichten kleinen
Schrift: —
»Ueberfahrten nach Quebec oder Neu-Braunschweig können entweder mit oder
ohne Mundvorräthe ausbedungen werden, in letzterem Fall erhält der Passagier
nichts außer Wasser, Brennmaterial und Bettstelle, aber kein Gebett. Kinder
unter 14 Jahren zahlen nur die Hälfte, und unter 7 Jahren nur das Drittel der
vollen Summe; Kinder unter 12 Monaten werden unentgeldlich mitgenommen.
Unter diesen Bedingungen beträgt das Passagiergeld von London, oder von
Plätzen an der Ostküste Britanniens, mit Mundvorräthen, gewöhnlich 6 Pfund
Sterl., und ohne Mundvorräthe, 3 Pfd. Sterl. Von Liverpool, Greenock und den
Haupthäfen Irlands ist der Preis, in Folge seltner eintretender Verzögerungen
etwas niedriger; in diesem Jahre (1832) wird er wahrscheinlich 2 Pfd. Sterl. bis
2 Pfd. Sterl. 10 Shl. (ohne Mundvorräthe), und mit diesen 4 Pfd. Sterl. bis 5 Pfd.
Sterl. betragen. Möglicher Weise dürften im März und April von Dublin aus
Ueberfahrten zu 1 Pfd. Sterl. 15 Shl. oder gar zu 1 Pfd. Sterl. 10 Shl. zu
erlangen sein; aber mit dem Vorrücken der Jahreszeit werden die Preise stets
höher. In Schiffen, die von Schottland oder Irland aussegeln ist es meist üblich
gewesen, daß die Passagiere selbst für ihre Mundvorräthe sorgten; allein in
London ist diese Verfahrungsweise nicht so allgemein; und einige
Schiffseigenthümer, wohlbekannt mit den gefährlichen Mißgriffen, welche in
dieser Angelegenheit aus Unkenntniß gethan werden können, stemmen sich
sehr gegen die Aufnahme von Fremden, welche ihre Mundvorräthe nicht vom
Schiffe beziehen wollen. Diejenigen, welche durchaus selbst dafür sorgen
wollen, sollten darauf bedacht sein, nicht zu wenig mitzunehmen; funfzig Tage
sind die kürzeste Periode, auf welche man sich mit Mundvorräthen versehen
muß, und von London aus dauert dieselbe bisweilen fünfundsiebzig Tage. Die
besten Monate, England zu verlassen, sind jedenfalls März und April; spätere
Auswandrer finden selten Beschäftigung und haben in der Colonie vor Eintritt
des Winters weniger Zeit vor sich.«
Aus einem gedruckten, von Mr. B u c h a n a n zu Quebec abgefaßten Aufsatz
entlehnen wir folgende Bemerkungen, (der Aufsatz datirt sich vom Juli 1835).
»Nichts ist für den Emigranten bei seiner Ankunft in Quebec wichtiger, als
genaue Erkundigung über die Hauptpunkte seines fernern Thun's. Manche
haben Mangels an Behutsamkeit halber, und weil sie den Ansichten und
Meinungen selbstsüchtige Nebenabsichten im Schilde führender Personen, die
häufig unaufgefordert ihren Rath ertheilen, und die man gewöhnlich an den von
Fremden besuchten Kaien und Landungsplätzen findet, Gehör schenkten,
schwer büßen müssen. Um sich gegen dergleichen Fehlschritte zu sichern, sollte
jeder Emigrant, gleich nach seiner Ankunft zu Quebec, sich an das Bureau des
Haupt-Agenten für Auswandrer, in Sault-au-Matelot-Street (Unterstadt) wenden,
wo er jede für seine ferneren Unternehmungen, es mag sich nun um Ansiedlung
oder Anstellung in Ober- oder Unter-Canada handeln, erforderliche
Nachweisung g r a t i s erhält. Auf dem Wege von Quebec nach dem Ort seiner
Bestimmung werden dem Auswandrer manche Entwürfe und Pläne zur
Erwägung vorgelegt, allein er mag sich ja davon abwenden, wofern sich nicht
die Reinheit der Absicht und die Richtigkeit der Angaben nachweisen läßt: in
jedem Fall nehme man, wenn man Rath und Belehrung bedarf, seine Zuflucht
zu den Regierungs-Agenten, welche die genaueste Auskunft g r a t i s ertheilen.
»Emigranten thun wohl, nach ihrer Ankunft achtundvierzig Stunden an Bord des
Schiffs zu bleiben, auch können sie während dieser Zeit keiner ihrer
gewöhnlichen Bequemlichkeiten, als da sind Schlafstellen, Koch-Apparate u. s.
w. beraubt werden, und der Schiffsmeister ist gebunden, die Auswandrer und
ihr Gepäck k o s t e n f r e i an den gewöhnlichen Landungsplätzen und zu
entsprechenden Stunden auszuschiffen. V o r z ü g l i c h m ö g e n s i e s i c h
h ü t e n , W a s s e r a u s d e m L a w r e n c e F l u ß z u t r i n k e n , d e n n
s e i n G e n u ß e r z e u g t b e i F r e m d e n l e i c h t L e i b s c h n e i d e n
u n d a n d r e U n t e r l e i b s b e s c h w e r d e n .
»Will man sein englisches Geld umwechseln, so gehe man zu einem achtbaren
Kaufmann oder Krämer, oder an die Banken: der Dollar Courant (Halifax
Courant), in den beiden Canadas, ist gleich fünf Shilingen (engl. Geld);
gegenwärtig gilt der Gold-Souverain zu Quebec und Montreal ungefähr 1 Pfd.
Sterl. 4 S. 1 D. Courant. In New-York ist der Dollar gleich 8 Shl., daher sich
manche täuschen, wenn sie von den Arbeitslöhnen u. s. w. hören. — 5 Shl. in
Canada sind gleich 8 Shl. in New-York; demgemäß sind 8 Shl. New-Yorker
Courant gleich 5 Shl. Halifax Courant.
»Emigranten, die sich in Unter-Canada anzusiedeln oder Anstellung zu erhalten
wünschen, können auf manche wünschenswerthe Lage zählen. Wilder Boden
kann durch Kauf von dem mit dem Verkauf der Kronländer bevollmächtigten
Commissair in verschiednen Gemeinde-Bezirken der Provinz erlangt werden,
und die Brittisch-amerikanische Land-Compagnie trifft die ausgedehntesten
Vorbereitungen, um in den östlichen Gemeinde-Bezirken Ländereien an
Emigranten zu verkaufen.
»Ländliche Arbeiter sind in allen Distrikten von Ober-Canada sehr gesucht und
können bei gehörigem Fleiß sehr hohe Löhne erhalten; Handwerker fast jeder
Art, und gute Dienstboten, sowohl männliche als w e i b l i c h e, finden ebenfalls
sogleich Anstellung.
»Emigranten, welche entweder auf der Ottawa oder St. Lawrence Straße nach
Ober-Canada reisen, thun wohl, sich zu Montreal mit Mundvorräthen, als da
sind Brod, Thee und Butter zu versorgen, indem sie diese Artikel, daselbst
billiger und b e s s e r kaufen können als unterwegs, bis sie Kingston erreichen.
Desgleichen mögen sie sich so sehr als möglich vor dem Genuß s p i r i t u ö s e r
F l ü s s i g k e i t e n u n d d e m Tr i n k e n k a l t e n F l u ß - W a s s e r s oder
dem Lagern auf den Fluß-Ufern, der feuchten Nachtluft ausgesetzt, hüten; es ist
gut, wenn sie sogleich vom Dampfbote zu Montreal ihren Weg nach dem
E i n g a n g d e s C a n n a l s oder Lachine nehmen, von wo aus täglich die
Dampf- und Durham-Böte nach Prescott und Bytown abgehen. Die ganzen
Unkosten für den Transport eines erwachsenen Emigranten von Quebec nach
Toronto, und dem Ursprung des Sees Ontario auf Dampf- und Durham-Böten
betragen nicht über 1 Pfd. Sterl. 1 Shl. — Kingston, Belleville, die Bai von Quinte
hinauf, Cobourgh und Port Hope, im Newcastle Distrikt, Hamilton und Niagara
am Ursprunge des Sees Ontario, sind bequeme Rastplätze für Familien, welche
sich in Ober-Canada ankaufen wollen.
Unter den zur Förderung der Auswandrer zu Montreal gebildeten Gesellschaften
herrscht große Eifersucht; daher der Emigrant wohl thut, etwas vorsichtig zu
verfahren, ehe er hinsichtlich seines Transports nach Prescott oder Kingston
abschließt, vorzüglich muß er diejenigen Personen vermeiden, die sich um die
Dampfböte bei deren Ankunft zu Montreal drängen und ihre Dienste zur
weiteren Beförderung der Passagiere u. s. w. anbieten. Eben so ist zu Prescott
oder Kingston bei Auswahl eines regelmäßigen Transports, den See Ontario
hinauf, einige Vorsicht nöthig. Vorzüglich rathe ich den Emigranten, welche sich
in Ober-Canada niederlassen wollen, sich in Montreal nicht aufzuhalten und
Geld für Logis wegzugeben, sondern gleich nach Ankunft des Dampfbootes
nach Bytown oder Prescott aufzubrechen.
Tagelöhner oder Handwerker, die hinsichtlich ihres Lebensunterhaltes von
sofortiger Anstellung abhängen, dürfen nicht säumen, gleich nach ihrer Ankunft
ihren Weg in das Innere zu nehmen. Der Haupt-Agent pflegt diejenigen, welche
über v i e r Ta g e nach ihrem Eintreffen an den Landungs-Plätzen
umherzaudern, als jedes Anspruchs auf den Schutz der königlichen Agenten zu
seiner Beförderung oder Anstellung ledig zu erachten, es müßte denn Krankheit
oder eine andre genügende Ursache dieses Zögern nöthig machen.
V e r g l e i c h e n d e Ta b e l l e , d i e A n z a h l v o n
A u s w a n d r e r n
b e t r e f f e n d , w e l c h e s e i t 1 8 2 9
b i s 1 8 3 4 ( e i n s c h l i e ß l i c h ) z u Q u e b e c
a n g e l a n g t s i n d .
1829 1830 1831 1832 1833 1834
England und
Wales
3,565 6,79910,343 17,481 5,198 6,799
Irland 9,61418,30034,13328,20412,01319,206
Schottland 2,643 2,450 5,354 5,500 4,196 4,590
Hamburg und
Gibraltar
— — — 15 — —
Neuschottland,
Neufundland,
West-Indien
u. s. w.
123 451 424 546 345 339
Summa.15,94528,00050,25451,74621,75230,935
Die Gesammtzahl der zu Quebec seit 1829 bis 1834 angelangten Emigranten
beläuft sich auf 198,632 Köpfe. Man wird bemerken, das die Anzahl in den
Jahren 1831 und 1832 ihre Höhe erreicht hat, und dann (1833) wieder sehr tief
gefallen ist.
Vertheilung der 30,935, im Jahr 1834 zu Quebec angelangten Emigranten: —
U n t e r - C a n a d a .
Stadt und Distrikt Quebec 1,500
Distrikt Three Rivers (drei Flüsse) 350
Distrikt St. Francis und östliche Gemeinde-Bezirke 640
Stadt und Distrikt Montreal 1,200
Ottawa Distrikt 400
--------
4,090
O b e r - C a n a d a .
Ottawa, Bathurst, Midland und östliche Distrikte
bis Kingston, einschließlich
1,000
Distrikt Newcastle, und Stadtbezirke in der Nachbarschaft
der Bai von Quinte
2,650
Toronto und der Home Distrikt, welcher die Niederlassungen
um den See Simco in sich schließt.
8,000
Hamilton, Guelph und Huronen-Gebiet nebst den
angrenzenden Ländereien
2,600
Niagara Grenze und Distrikt, welche die Linie
des Welland Canals und nur den Anfang des
Sees Ontario bis Hamilton in sich begreift.
3,300
Niederlassungen, welche an den Erie-See grenzen
und den London Distrikt, die Adelaide-Ansiedlung
und das Land bis zum See St. Clair in sich
begreifen
4,600
--------
Summa (für Ober-Canada) 22,210
An der Cholera in Ober- und Unter-Canada
gestorben
800
Nach dem Vereinigten Königreich zurückgekehrt 350
Nach den Vereinigten Staaten gegangen 3,485
--------
4,635
Von 30,935 Emigranten, welche im Jahr 1834 zu Quebec anlangten, waren:
Freiwillige Emigranten 29,041
Von ihren Kirchsprengeln unterstützt 1,892
Männer 13,565
Weiber 9,685
Kinder unter vierzehn Jahren 7,681
Emigranten, welche es vorziehen, über New-York nach Canada zu gehen,
können sich bei dem brittischen Consul zu New-York (J a m e s B u c h a n a n,
Esq.) Rath in ihren Angelegenheiten erholen. Vormals konnte dieser für
Emigranten, welche fest entschlossen waren, sich in Canada niederzulassen,
Erlaubniß auswirken, ihre Baggage und Effecten zollfrei zu landen; aber in
einem Briefe vom 16 März 1835 sagt er: —
»Zufolge einer Abänderung in dem wirklich lieberalen, bisher in diesem Hafen
üblichen Verfahren, wonach es den hierselbst landenden Emigranten erlaubt
war, ihr Gepäck, bestehend in Haus und Ackergeräth, ohne Umpacken oder
Abgabe durch New-York nach seiner Majestät Provinzen zu transportiren,
vorausgesetzt daß dieses Gepäck nichts außer den namhaft gemachten Artikeln
enthielt, betrachte ich es für meine Pflicht, bekannt zu machen, daß
gegenwärtig alle in diesem Hafen anlangenden Artikel von Emigranten, auf
ihrem Durchwege nach Canada, der nämlichen Inspection unterworfen werden,
als wenn dieselben in den Vereinigten Staaten zurückbleiben, und die nämlichen
Zölle, wie diese, zu entrichten haben. Ich will bei dieser Gelegenheit noch
bemerken, daß alle Artikel, deren ein neuer Ansiedler bedarf, in Canada zu
billigern Preisen zu haben sind, als sie vom Vaterlande hierher transportirt
werden können, wozu noch kommt, daß sie der neuen Heimath angemessen
sind.«
Der Unterschied zwischen den beiden Routen, wovon die eine über Quebec, die
andre über New-York nach Ober-Canada führt, besteht hauptsächlich darin, daß
der Hafen von New-York das ganze Jahr hindurch offen ist, während die Fahrt
auf dem St. Lawrence nach Quebec und Montreal langweilig, und der Fluß blos
acht Monate im Jahre offen ist. Indeß ist letztre die billigere Route. Wer es aber
nur einigermaßen daran wenden kann, zieht den Weg über New-York vor, weil
er nicht nur der bequemste sondern auch der fördersamste nach Ober-Canada
ist.
Die Reise-Route führt nach einer gedruckten, von dem brittischen Consul zu
New-York herausgegebnen Bestimmung und Albanien von New-York durch den
Erie-Canal nach allen Theilen von Ober-Canada, westlich von Kingston über
Oswego und Buffalo: —
Von New-York nach Albanien 160 (engl.) Meilen
mittels Canalfahrt,
auf
Dampfbooten
oder Postwagen.
Von Albanien nach Utica 110
Von Utica nach Syrakus 55
Von Syrakus nach Rochester 99
Von Rochester nach Buffalo 93
Gesammt-Unkosten von Albanien nach Buffalo, auf dem Canal, mit Ausschluß
von Lebensmitteln, für einen erwachsnen Passagier (die Fahrt dauert
gewöhnlich sieben oder acht Tage) 3 Dollars, 63 Cents mittels Packet-Böten; mit
Einschluß von Lebensmitteln, bei einer Fahrt von sechs Tagen 12-1/4 Dollars.
»Ditto mittels der Postkutsche, binnen 3-1/2 und vier Tagen — 13 bis 15
Dollars.
»Ditto von Albanien nach Oswego auf Canälen, bei einer Fahrt von 5 Tagen —
2-1/2 Dollars.
»Ditto mittels der Postkutsche, (zweitägige Fahrt) — 6-1/2 bis 7 Dollars.
»Eine mäßige Menge Gepäck wird unentgeldlich mitgenommen.
Reise-Route von New-York nach Montreal, Quebec und allen Theilen von Unter-
Canada: —
»Von New-York nach Albanien, 160 (engl.) Meilen mittels Dampfboot, 1 bis 3
Dollars, mit Ausschluß Von Lebensmitteln.
»Von Albanien nach Whitehall, auf Canälen, 73 engl. Meilen, 1 Dollar; auf dem
Postwagen 3 Dollars.
»Von Whitehall nach St. John's, mittels Dampfboot, der Lebensunterhalt
eingerechnet, in der Cajüte 5 Dollars; Deck-Passage, ohne Lebensunterhalt 2
Dollars.
»Von St. John's nach Laprairie, 16 engl. Meilen, mittels Postwagen, 5 bis 7 Schl.
6 D.
»Von Laprairie nach Montreal, auf dem Fähr-Dampfboote, (8 engl. Meilen) 6 D.
»Von Montreal nach Quebec mittels Dampfboot, 180 (engl.) Meilen, in der
Cajüte (mit Kost) 1 Pfd. St. 5 Schl. Deck-Passage, ohne Kost 7 Schl. 6 D.
»Diejenigen, welche nach den östlichen Gemeinde-Bezirken von Unter-Canada,
in der Nachbarschaft von Sherbrooke, Standstead u. s. w. wandern wollen,
müssen ihren Weg nach St. John's nehmen, von woaus gute Straßen nach
sämtlichen östlichen Ansiedlungen führen; nehmen sie ihren Weg nach dem
Fluß Ottawa, so müssen sie von Montreal und Lachine ausgehen, indem von
hier aus Postwagen, Dampfböte und andre kleine Fahrzeuge (Kähne) nach
Granville, Hull und Bytown, so wie auch nach Chateauguay, Glengary, Cornwall,
Prescott und sämmtlichen Theilen unterhalb Kingston segeln.
»Die Emigranten können sich des Rathes und Beistandes folgender Herren
bedienen: — zu Montreal C a r l i s l e B u c h a n a n ' s Esq.; zu Prescott, J o h n
P a t t o n ' s Esq.«
Emigranten-Zahl, welche im Verlauf von sechs Jahren, nämlich seit 1829 bis
1834 von dem Vereinigten Königreich zu New-York angelangt ist.
Jahr. England. Irland. Schottland. Gesammtzahl
1829 8,110 2,443 948 11,501
1830 16,350 3,497 1,584 21,433
1831 13,808 6,721 2,078 22,607
1832 18,947 6,050 3,286 28,283
1833 — — — — — — 16,000
1834[64] — — — — — — 26,540
Gesammtzahl. 126,464
I I I . A m e r i k a n i s c h e P a s s a g i e r - A c t e .
Der 9. Geo. IV. c. 21, gemeiniglich die amerikanische Passagier-Acte genannt,
wurde während der Session 1835 widerrufen, und an ihrer Stelle eine neue
Verordnung (5 und 6 Will. IV., c. 53.) erlassen. Diese neue Acte hat zum Zweck,
so sehr als möglich und wirksamer als die frühere, die Gesundheit und das
Gedeihen der Auswandrer an Bord von Passagier-Schiffen zu sichern. Zufolge
einer Clausel müssen Copien oder Auszüge auf dergleichen Schiffen zur Einsicht
der Passagiere unterhalten werden, damit diese hierdurch Gelegenheit haben,
sich von der Erfüllung des Gesetzes zu überzeugen; allein die Entdeckung
irgend einer Verletzung der gesetzlichen Verordnungen dürfte zu einer Zeit
gemacht werden, wo es in dem besondern, gerade vorliegenden Falle, zu spät
ist, insofern es sich um die Bequemlichkeit oder gar um die Gesundheit der
Passagiere handelt, Abhülfe zu leisten. Es steht daher zu hoffen, daß die
menschenfreundlichen Absichten der Gesetzgebung durch keine Nachlässigkeit
von Seiten derjenigen (vorzüglich der Zoll-Beamten) vereitelt werden, welchen
die Pflicht obliegt, dafür zu sorgen, daß den Bestimmungen der Acte genügt
werde, ehe das Passagier-Schiff den Hafen verläßt.
Kein Passagier-Schiff darf mehr als drei Personen auf jede fünf Tonnen
einregistrirte Last am Bord enthalten. Desgleichen dürfen sich, was auch immer
der Tonnengehalt sein mag, nicht mehr Passagiere an Bord befinden, als die
gesetzliche Bestimmung des Raums gestattet, nach welcher auf je zehn Fuß
Flächengehalt des untern Decks, die nicht von Gütern oder Vorräthen, außer
dem Gepäck der Reisenden, eingenommen sind, eine Person gerechnet wird.
Schiffe mit mehr als einem Deck müssen mindestens fünf und einen halben Fuß
Zwischendeckraum haben; und hat ein Schiff blos ein Deck, so muß unter das
Deck eine Plattform dergestalt gelegt werden, daß dazwischen ein Raum von
wenigstens fünf und einem halben Fuß Höhe übrig bleibt; auch darf ein solches
Schiff nicht mehr als zwei Reihen Schlafstellen haben. Schiffe mit einer
doppelten Reihe Schlafstellen müssen einen Zwischenraum von mindestens
sechs Zoll zwischen dem Deck oder der Plattform und dem Boden der untern
Reihe in ihrer ganzen Ausdehnung haben.
Passagier-Schiffe müssen folgende Vorräthe und in folgendem Verhältniß
führen: —
Reines Wasser, für jeden Passagier gegen fünf Gallonen auf jede Woche der
Reise. Das Wasser muß in Tanks oder verkohlten (Frischwasser-) Fässern
aufbewahrt werden.
Sieben Pfund Brod, Schiffszwieback, Hafermehl oder andre Brodstoffe, auf jede
Woche für jeden Passagier; Kartoffeln können bis zu einem Drittel des
gesammten Mundvorrathes hinzugefügt, aber sieben Pfund Kartoffeln müssen
einem Pfund Brod oder Brodmehl gleich gerechnet werden. Die Dauer der Reise
nach Nord-Amerika wird auf zehn Wochen geschätzt, demgemäß müssen für
jeden Passagier funfzig Gallonen Wasser und siebzig Pfund Brod oder Brodmehl
mitgenommen werden.
Beläuft sich die Anzahl der Passagiere auf hundert Köpfe, so muß der
Schiffseigner für einen praktischen Arzt sorgen; wenn darunter, so müssen
Arzneimittel in hinreichender Menge und von den erforderlichen Arten, als ein
Theil der nothwendigen Vorräthe, mitgenommen werden.
Passagier-Schiffen ist nicht erlaubt, an spirituösen Getränken, als Waare, über
ein Zehntel von derjenigen Quantität auszuführen, welche, ohne diese
Beschränkung, die Zollbeamten, den Proviantlisten eines solchen Schiffs gemäß,
blos für den Gebrauch der Passagiere (und je nach deren Anzahl,) mitzunehmen
verstatten würden. Gewiß eine wichtige Maßregel, welche buchstäblich befolgt
werden sollte. Die starke Versuchung, wovon die an einen engen Raum
gefesselten Passagiere in Folge der Langenweile, welche eine dergleichen
Seereise erzeugt, ergriffen werden, hat häufig den Vermögensumständen, der
Behaglichkeit und Gesundheit manches Emigranten bedeutenden Nachtheil
gebracht, besonders wenn der Schiffsmeister für einen tüchtigen Branntwein-
Vorrath gesorgt hatte.
Bei Aufzählung der Passagiere werden z w e i Kinder über sieben aber unter
vierzehn, oder d r e i unter sieben Jahren für einen Passagier gerechnet. Kinder
unter z w ö l f M o n a t e n werden nicht mit gezählt.
Jeder Passagier ist berechtigt, achtundvierzig Stunden hindurch, nachdem das
Schiff an dem Orte seiner Bestimmung angelangt ist, an Bord zu bleiben, und
muß für diese Zeit mit den erforderlichen Mundvorräthen versorgt werden.
Emigranten mit beschränkten Mitteln können auf diese Weise viele
Unannehmlichkeiten und Kosten vermeiden, indem sie sich über die
Marschroute, welche sie zu nehmen gedenken, berathen, anstatt zu landen und
in den theuern Wirthshäusern und Restaurationen eines See-Hafens Zeit und
Geld zu verschwenden.
Schiffsmeister müssen Cautionen von 1,000 Pfd. St. zahlen, als Garantie für die
treue Erfüllung der ihnen durch die Acte auferlegten Pflichten. Die wegen einer
Uebertretung des Gesetzes zu zahlende Strafe beläuft sich nicht unter f ü n f,
und nicht über z w a n z i g Pfd. Sterl.
Die von der Regierung in den verschiednen Häfen angestellten Agenten, oder
die Zoll-Beamten werden ohne Zweifel Passagieren, welche um ihren Rath
hinsichtlich einer Verletzung der Bestimmungen der Acte nachsuchen, jeden
Verschub leisten, und die zu ergreifenden Maßregeln anzeigen.
Herrscht hinsichtlich der Tüchtigkeit eines zum Absegeln bereiten Schiffes
irgend ein Zweifel, so sind die Zoll-Einnehmer und Zoll-Controlleurs ermächtigt,
dasselbe besichtigen zu lassen. Passagiere, welche über die Zeit hinaus, wo das
Schiff der Verabredung gemäß auslaufen sollte, aufgehalten werden, muß der
Schiffsmeister auf seine Unkosten unterhalten; sorgen sie selbst für ihre
Mundvorräthe, so ist er gehalten, jedem für einen Tag Aufschub, den nicht
Unwetter oder eine andre unvermeidliche Ursache erheischt, einen Schilling zu
zahlen.
I V. U e b e r t r a g u n g v o n C a p i t a l i e n .
Es ist, wie sich von selbst versteht, für Emigranten von großer Wichtigkeit, was
sie irgend an Capital über die erforderlichen Unkosten der Reise u. s. w.
besitzen, auf dem sichersten und vortheilhaftesten Wege nach Canada zu
senden, sowohl die Brittisch-Amerikanische Land-Compagnie als die Canada-
Compagnie sind hierin den Emigranten behülflich, indem sie Pfänder und Credit-
Briefe auf ihre Agenten in Canada annehmen. Es ist unsicher und unklug eine
größere Summe bares Geld bei sich zu führen, als gerade zur Bestreitung der
nothwendigen Reisekosten hinreicht, indem man eine doppelte Gefahr läuft,
nämlich sein Geld zu verlieren, oder es zu vergeuden. Emigranten, die sich in
ihren Geldangelegenheiten nicht an eine der beiden zuvor erwähnten
Compagnien wenden wollen, würden daher wohl thun, sich von einem
achtbaren Hause in dem Vereinigten Königreiche einen Credit-Brief auf die Bank
zu Montreal ausstellen zu lassen.
V. C a n a d i s c h e s C o u r a n t .
In sämmtlichen Brittisch-Nord-Amerikanischen Colonien werden Rechnungen
und Preise, eben so wie in England, in Pfunden, Schillingen und Pence
ausgedrückt. Man unterscheidet übrigens zwischen Courant oder Halifax
Courant, und Sterling oder Brittisch Sterling.
Ein Pfund Halifax-Courant oder Courant, wie es schlecht weg genannt wird,
besteht aus vier spanischen Dollars. Der Dollar zerfällt in fünf Theile — im
Spanischen Pistoreens genannt, wovon jeder ein Schilling genannt wird. Jeder
dieser Schillinge oder Pistoreens ist wiederum in zwölf Theile, Pence genannt,
getheilt, aber uneigentlich, da es keine Münze giebt, die einer solchen
Unterabtheilung entspräche. Um dem Bedürfniß abzuhelfen, sind eine große
Anzahl Kupfermünzen im Umlauf, wozu der alte englische Halfpenny, der
Halfpenny neuern Gepräges, der Penny, der Farthing und der amerikanische
Cent gehören; alle und jede gelten als der vierundzwanzigste Theil des
Pistoreen oder Colonial-Schillings. Pence sind in der That nicht bekannt, wiewohl
fast jede Art von Kupfermünze als der vierundzwanzigste Theil des Pistoreen
genommen wird[65].
Zu einer Zeit, als der spanische Dollar, das Achtelstück, wie es damals hieß,
feiner und schwerer als die jetzt im Umlauf befindliche Münze war, betrug sein
Werth nach dem Münz-Silber-Preise 4 Schl. 6 D. Sterling, und 90 Pfd. Sterl.
waren gleich 100 Pfd. Courant.
V I . D i e C a n a d a C o m p a g n i e .
Die Canada-Compagnie wurde im Jahr 1826 durch einen königlichen Freibrief
und eine Parlaments-Acte confirmirt. Nachstehendes sind Auszüge aus dem
Prospect der Compagnie: —
»Die Canada-Compagnie hat in fast jedem Theil von Ober-Canada Ländereien
zum Verkauf bereit, unter Bedingungen, welche jedenfalls höchst vortheilhaft
für den Emigranten sind, da er beim Abschluß des Kaufs blos ein Fünftel vom
Kaufgelde an die Compagnie baar zu entrichten braucht, und das Uebrige in
fünf einjährigen, auf einander folgenden Terminen, (also in einem Zeitraum von
fünf Jahren) nebst Interessen entrichten kann, so daß er bei gehöriger
Betriebsamkeit den Saldo von den Erzeugnissen des Bodens abzutragen
vermag.
»Ländereien der Canada-Compagnie sind von dreierlei Art, nämlich: —
Hier und da ausgestreute Reserve-Ländereien.
Länder-Striche (Blocks or tracts of land) jeder von 1,000 bis 40,000 Aecker.
Der Huronen-Tract, welcher über 1,000,000 Aecker enthält.
»Z e r s t r e u t l i e g e n d e R e s e r v e - L ä n d e r e i e n . Die zerstreuten Kron-
Ländereien sind Parcellen von hundert bis zweihundert Acker eine jede, durch
fast jeden Gemeinde-Bezirk in der Provinz vertheilt, und an der Boden-, Klima-
Beschaffenheit u. s. w. jedes besondern Gemeinde-Bezirks Theil habend.
Dergleichen Ländereien sind vorzüglich denjenigen zu empfehlen, welche
Freunde und Verwandte in ihrer Nachbarschaft angesiedelt zu sehen wünschen,
und kann der Acker zu 8 Schl. 9 D. bis zu 25 Schl. gekauft werden.
»L ä n d e r - B l ö c k e o d e r Tr a k t e (Blocks of Land). Die Blöcke oder Trakte
liegen ganz in dem Theil der Provinz, der sich westwärts vom Ursprunge des
Sees Ontario hindehnt, und enthalten Fluren, die, was Boden, Klima,
Ergiebigkeit u. s. w. anlangt, jedem andern Theil des Festlandes von Amerika
gleichen, wo nicht überlegen sind. Diese verdienen mithin die Aufmerksamkeit
von Emigranten-Gemeinden, die als Landsleute, oder durch Verwandtschaft,
Freundschaft, Religion oder andre Banden mit einander verknüpft, sich
zusammen niederzulassen wünschen.
Der größte Block dieser Art im Besitz der Compagnie ist der Stadt-Bezirk
Guelph, der über 40,000 Acker enthält, wovon die größere Hälfte bereits
verkauft ist; und hier hat sich im Verlauf nur weniger Jahre eine Stadt erhoben,
welche Kirchen, Schulen, Magazine, Wirthshäuser und Mühlen in sich begreift,
und wo man Handwerker und Gewerbtreibende jeder Art und eine sehr
achtbare Gesellschaft finden kann.
»D a s H u r o n e n - G e b i e t . Dies ist ein Strich des besten Landes in Amerika,
durch welches die Canada-Compagnie zwei Straßen, so gut als es nur ein neu
urbar gemachtes Land zuläßt, über hundert englische Meilen weit gehauen hat.
»Die Bevölkerung daselbst nimmt von Tag zu Tag zu.
»Die Stadt Goderich, an der Mündung des Flusses Maitland, am Huronen-See,
ist sehr blühend und enthält verschiedne treffliche Vorraths-Häuser und
Kaufläden, worin der Emigrant die ihm nothwendigen Artikel zu billigen Preisen
erhalten kann. Es ist daselbst eine gute Schule errichtet worden, die stark
besucht wird; desgleichen eine englische Kirche, worin ein presbyterianischer
Geistlicher Gottesdienst hält; und da die Kirchen in Ober-Canada gegenwärtig
besonders durch freiwillige Beiträge ihrer respectiven Versammlungen
unterhalten werden, so kann man sich von dem achtbaren Charakter der
Bewohner dieser Ansiedlung und der Nachbarschaft eine Vorstellung machen.
»Die Stadt und der Stadt-Bezirk Goderich enthalten ungefähr tausend
Einwohner; und seit dem das von der Compagnie zur Bequemlichkeit ihrer
Ansiedler erbaute Dampfboot seinen Lauf zwischen Goderich und Sandwich
begonnen hat, ist eine bedeutende Zunahme in dem Verkehr und dem Gedeihen
der Niederlassung wahrzunehmen.
In diesem Distrikt sind vier gute Säge-Mühlen, drei Grütz-Mühlen, und in der
Nachbarschaft einer jeden findet man gut gefüllte Vorraths-Häuser. Und da das
ganze Gebiet vier Millionen Acker enthält, wovon die größere Hälfte dem
Verkehr offen ist, so kann ein Emigrant oder eine Emigranten-Gesellschaft, wie
groß sie auch sein mag, in Auswahl einer je für ihre Zwecke, wie
verschiedenartig diese auch sein mögen, günstigen Lage auf keine Schwierigkeit
stoßen. Der Preis dieser Ländereien beläuft sich von 11 Schl. 3 D. bis auf 15
Schl. Provinzial-Courant, oder auf 11 Schl. bis 13 Schl. 6. D. Sterl. per Acker.«
Emigranten, welche sich mit der Compagnie zu besprechen wünschen, müssen
sich an den Secretair, John Perry Esq., St. Helen'splace, Bishopsgate-Street,
London, oder an die Agenten der Compagnie der Häfen wenden.
V I I . B r i t t i s c h - a m e r i k a n i s c h e L a n d -
C o m p a g n i e .
Die brittisch-amerikanische Land-Compagnie berichtet in ihrem Prospect, daß
sie von der brittischen Regierung ziemlich eine Million Acker in den Grafschaften
Shefford, Stanstead und Sherbrooke, und zwar in den sogenannten östlichen
Gemeinde-Bezirken von Unter-Canada gekauft habe. Diese Gemeinde-Bezirke
begreifen einen Strich Landes in sich, der auf der Südseite des St. Lawrence,
zwischen 45° und 46-1/2° nördlicher Breite und 71° und 73° westlicher Länge
liegt. Dieser Tract, welcher zwischen fünf und sechs Millionen Acker enthält, ist
in acht Grafschaften, und diese sind wiederum in ungefähr hundert Stadt- oder
Gemeinde-Bezirke getheilt. Besagte Gemeinde-Bezirke erfreuen sich eines
wichtigen Vortheils in ihrer geographischen Lage. Auf der einen Seite haben sie
einen leichten Zugang von Montreal, Quebec und Three Rivers, den Schiffer-
Hafen und großen Märkten der beiden Canadas; auf der andern von New-York
den Hudson River hinauf und durch den See Champlain, so wie auch von Boston
und andern Theilen der atlantischen Küste. Zufolge ihrer gedrängten und
zusammenhängenden Lage können sie durchgängig sowohl auf leichten Verkehr
und gegenseitige Unterstützung als auch auf allgemeine Theilnahme an allen
örtlichen Verbesserungen zählen.
»Die Bedingungen, unter welchen die Compagnie ihre Ländereien veräußert,
sind, je nach Lage, Beschaffenheit und besondre Vortheile, welche die
verschiednen Parcellen besitzen mögen, verschieden; im Allgemeinen indeß sind
sie zu 4 Schl. bis 6 Schl. Courant per Acker käuflich, und in allen Fällen muß ein
Theil der Kaufsumme als Unterpfand angezahlt werden, und zwar bei den höher
geschätzten Parcellen der fünfte, und bei den niedriger geschätzten der vierte
Theil.
»Der Saldo muß alsdann nach und nach in sechs auf einander folgenden
einjährigen Terminen, nebst den in der Provinz gesetzmäßigen Zinsen, und zwar
vom Tage des Kaufabschlusses an gerechnet, abgetragen werden; sollten indeß
Käufer geneigt sein, die Zahlungen früher zu leisten, so dürfen sie sich die Zeit
dazu nur wählen.
»Der Preis für einen Bauplatz zu Port St. Francis im laufenden Jahre (1835) ist
12 Pfd. Sterl. 10 Schl., mit Anzahlung von 5 Pfd. Sterl. in baarem Gelde, und der
Saldo ist nebst Interessen in Jahres-Frist abzutragen.
»Anzahlungen für Grund und Boden, den der Emigrant bei seiner Ankunft im
Lande wählen kann, nimmt die Compagnie in London an.
»Nach der zwischen der königlichen Regierung und der Compagnie geschloßnen
Uebereinkunft sind 50,000 Pfd. Sterl. von dem Kaufgelde, welches letztre
bezahlt hat, von derselben auf öffentliche Werke und Verbesserungen, als z. B.
Landstraßen, Brücken, Canäle, Schulhäuser, Märkte, Häuser, Kirchen und
Prediger-Wohnungen zu verwenden. Dies ist eine höchst wichtige Bestimmung,
die sich für den Ansiedler nothwendiger Weise in hohem Grade wohlthätig
erweisen muß, insofern sie ihm die Verbesserung und das Gedeihen des
Distrikts zusichert. Die Anlegung von Straßen und andern leichten
Communicationen ist das größte Bedürfniß eines neuen Landes; und die
Verwendung von Capital auf Werke dieser Art, welche die Kräfte und Mittel von
Privatleuten übersteigen, ist der beste Weg, auf welchem eine erfolgreiche
Niederlassung befördert und vollendet werden kann.
»Die Verwendung der oben namhaft gemachten ansehnlichen Summe sichert zu
gleicher Zeit dem redlichen und fleißigen Arbeiter, unmittelbar nach seiner
Ankunft, Anstellung und Erwerb.«
Das Verwaltungs-Bureau der Brittisch-amerikanischen Land-Compagnie ist zu
London, (Barge-Yard, Bucklersbury); dieselbe hat auch Agenten an den
verschiednen Hafen-Orten.
Erläuterung der Charte.
Da wir den englischen Stock beibehalten haben, so fügen wir für den Leser
folgende Nachweisungen hinzu: —
L. (lake) bedeutet S e e.
Part, T h e i l.
Bridge, B r ü c k e.
Channel, C a n a l.
R. (River), F l u ß.
Erklärung der auf der Charte vorkommenden Zahlen.
1) Beabsichtigte Eisenbahn, 6 (engl.) Meilen.
2) In Vorschlag gebrachte Eisenbahn, 13 (engl.) Meilen.
3) 36 (engl.) Meilen Dampf-Schifffahrt bis Heel-Falls.
4) Abriß der Mündungen des Flusses Otanabee und eines Theils des Reis-
Sees.
5) Abriß des kleinen Sees, eines Theils des Flusses Otanabee und der Stadt
Peterborough.
Fußnoten:
[60] Diese Summe ist in dem Parlaments-Rechnungs-Abschluß angegeben, aber
wahrscheinlich soll anstatt 9, 1 stehen.
[61] V. E. (U. E.) Loyalisten bedeutet: vereinigte englische Loyalisten, das ist solche,
die beim Ausbruch des amerikanischen Freiheits-Krieges aus den Vereinigten Staaten
flohen. Die in obigen Rubriken verzeichneten Schenkungen gehen meistentheils die
Kinder dieser Individuen an.
[62] Bei Verkäufen auf Erbzins zu 5 pCt., kann das Capital (Kaufsumme) nach Belieben
abgezahlt werden.
N. B. Verkäufe auf Erbzins haben im Jahr 1832 aufgehört.
[63] Information published by His Majesty's Commissioners for
Emigration, respecting the Brittish Colonies in North America, Lond. C.
Knight, 1832.
[64] Die Angaben für 1834 reichen blos bis zum 20. November selbigen Jahres.
[65] Die Amerikaner haben auch ihren 1. s. (Schilling), welcher dem achten Theil
eines Dollars oder 12-1/2 Cent. gleich ist. Es ist nichts Ungewöhnliches, den
Emigranten sich rühmen zu hören, daß er in New-York täglich 10 Schillinge verdienen
könne. Er weiß nicht, daß ein Dollar, welcher acht dergleichen Schillingen gleich ist, in
England nur 4 Schilling, 2 D. gilt, und daß mithin der amerikanische Schilling, im
Vergleich mit dem englischen nur 6-1/4 D. gilt, und daß daher ein Arbeitslohn von 10
Schillingen, täglich in der That nicht mehr als zehn mal 6 und 1/4 D. oder 5 Schillinge
2 und 1/2 D. nach englischer Werthbestimmung beträgt. Indeß ist ein Tagelohn von 5
Schillingen 2 und 1/2 D. immer noch beträchtlich zu nennen, nur aber kann es der
Arbeiter nicht häufig erlangen; und erhält er es, so ist es für übermäßige schwere
Arbeit unter einer brennenden Sonne in Seehafen-Städten während der
geschäftsreichen Schifffahrt-Zeit.
Anmerkung.
Seite 158. Die Moosbeere (Cranberry), wovon es, wie aus dem Text
hervorgeht, in Canada zwei Spiel-Arten giebt, gehört der Gattung
Vaccinium an; diese Beere oder Frucht ist, nach erlangter Reife, roth
und von der Größe einer kleinen Kirsche oder Schlehe und sitzt an
einem dünnen gebognen Stiel. (V. exycoccus). Die Pflanze heißt
auch Moorbeere, weil sie auf Moorboden und an sumpfigen Stellen
wächst. Eine verschiedne Art davon ist Vaccinium macrocarpon
(großfrüchtige Moosbeere).
L e i p z i g, gedruckt bei W. H a a c k.
Inhalts-Verzeichniß.
Seite.
E r s t e r B r i e f.
Abfahrt von Greenock in der Brig L a u r e l. — Beschaffenheit
der Kajüte. — Reise-Gefährte. — Mangel an Beschäftigung
und Unterhaltung. — Des Capitains Goldfinke 9
Z w e i t e r B r i e f.
Ankunft an der Küste von Neufundland. — Der Goldfinke
singt kurz vor Entdeckung des Landes. — Der Meerbusen
St. Lawrence. — Schwierige Fahrt auf dem
Flusse. — Ein französischer Fischer wird als Lootse
angestellt.
— Die Insel Bic. — Grün-Eiland. — Anstellung
eines regelmäßigen Lootsen. — Scenerei von
Grün-Eiland. — Gros-Eiland. — Quarantaine-Gesetze.
— Emigranten auf Gros-Eiland. — Ankunft vor
Quebek. — Anblick der Stadt und ihrer Umgebungen 13
D r i t t e r B r i e f.
Abfahrt von Quebek. — Wir werden von einem Dampfschiffe
bugsirt. — Fruchtbarkeit des Landes. — Verschiedne
Gegenstände, die sich uns beim Hinaufsteuern des
Flusses darbieten. — Ankunft vor Montreal. — Die
Stromschnellen (Rapids). 31
V i e r t e r B r i e f.
Landung zu Montreal. — Erscheinung der Stadt. —
Verheerungen
der Cholera. — Wohlthätigkeits-Anstalten zu
Montreal. — Katholische Cathedrale. — Unter- und
38
Ober-Stadt, Gesellschaft und Unterhaltung im Hotel. —
Die Verfasserin wird von der Cholera befallen. — Abreise
von Montreal im Postwagen. — Einschiffung zu
Lachine am Bord eines Dampf-Schiffes. — Abwechselndes
Reisen in Dampfschiffen und Postwagen. — Erscheinung
des Landes. — Manufacturen. — Oefen, in
einiger Entfernung von den Hütten. — Zieh-Brunnen.
— Ankunft zu Cornwall. — Bedienung im Gasthause.
— Abreise von Cornwall, und Ankunft zu Prescott.
— Ankunft zu Brookville. — Dasiger Stapelplatz.
— Reise durch den See Ontario. — Ankunft zu
Cobourg.
F ü n f t e r B r i e f.
Reise von Cobourg nach Amherst. — Schwierigkeiten denen
man bei seiner ersten Ansiedlung in den Urwäldern zu
begegnen hat. — Erscheinung des Landes. — Reis-See.
— Indianische Lebensweise und Gebräuche. —
Fahrt den Otanabee hinauf. — Log-Haus (Log-house)
und seine Inhaber. — Passagier Boot. — Fußreise nach
Peterborough. 62
S e c h s t e r B r i e f.
Peterborough. — Sitten und Sprache der Amerikaner. —
Schottischer Maschinenbauer. — Schilderung Peterboroughs
und seiner Umgebungen. — Canadische Blumen.
— Shanties. — Beschwerden und Strapazen,
welche die ersten Ansiedler zu ertragen haben. — Verfahren
bei Anlegung einer Meierei. 91
S i e b e n t e r B r i e f.
Abreise von Peterborough. — Canadische Wälder. — Wagen
und Gespann. — Ankunft bei einem Log-Hause an
den Ufern des Sees. — Niederlassung und erste
Beschäftigungen. 120
A c h t e r B r i e f.
Unannehmlichkeiten, die mit einer noch neuen Ansiedelung
verbunden sind. — Schwierigkeit, Nahrungsmittel und
andre nöthige Artikel zu erlangen. — Schneesturm und
Orkan. — Indianischer Sommer und Eintritt des Winters.
— Verfahren bei Lichtung des Bodens. 137
N e u n t e r B r i e f.
Verlust eines Ochsen-Gespanns. — Errichtung eines Log-
Hauses.
— Glaser- und Zimmermanns-Arbeit. — Beschreibung
eines neuen Log-Hauses. — Spaziergang auf
dem Eise. — Lage des Hauses. — See und umgebende
Scenerei. 148
Z e h n t e r B r i e f.
Abwechselung in Temperatur und Wetter. — Electrische
Erscheinung. — Canadischer Winter. — Mangel an poetischen
Anklängen in diesem Lande. — Zuckerbereitung. —
Zeit zum Fischfang. — Art des Fischfangs. — Entenschießen.
— Indianer-Familien. — Papousen und ihre
Windeln- und Wickelbänder. — Indianische Manufacturen.
— Frösche. 164
E l f t e r B r i e f.
Welche Emigranten für Canada passen. — Eigenschaften,
die man besitzen muß, um eines günstigen Erfolgs gewiß
zu sein. — Capital-Anlage. — Welche Artikel man wo
möglich mit sich bringen muß. — Eigenschaften und
Beschäftigungen
einer Ansiedler-Familie. — Mangel an Geduld
und Energie bei einigen Frauen. — Besorgung
der Milchwirthschaft. — Käse. — Indianisches Korn;
seine Cultur. — Kartoffeln. — Arbeitslöhne. 190
Z w ö l f t e r B r i e f.
Eine »Klafter-Biene.« — Verbrennung der geklafterten
Haufen. — Wirthschafts-System. — Preis des Weizens
im Vergleich zu dem Arbeitslohn. — Wahl des Bodens
208
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookgate.com

Creating and consuming Web services in Visual Basic 1st Edition Schaffer

  • 1.
    Creating and consumingWeb services in Visual Basic 1st Edition Schaffer download https://ebookgate.com/product/creating-and-consuming-web- services-in-visual-basic-1st-edition-schaffer/ Get Instant Ebook Downloads – Browse at https://ebookgate.com
  • 2.
    Get Your DigitalFiles Instantly: PDF, ePub, MOBI and More Quick Digital Downloads: PDF, ePub, MOBI and Other Formats Visual Basic in Easy Steps Tim Anderson https://ebookgate.com/product/visual-basic-in-easy-steps-tim- anderson/ Building Interoperable Web Services using the WS I Basic Profile 1 0 Patterns Practices 1st Edition Microsoft Corporation https://ebookgate.com/product/building-interoperable-web- services-using-the-ws-i-basic-profile-1-0-patterns-practices-1st- edition-microsoft-corporation/ RESTful Web Services 1st Edition Leonard Richardson https://ebookgate.com/product/restful-web-services-1st-edition- leonard-richardson/ Pro ASP NET Web API HTTP Web Services in ASP NET 1st Edition Tugberk Ugurlu https://ebookgate.com/product/pro-asp-net-web-api-http-web- services-in-asp-net-1st-edition-tugberk-ugurlu/
  • 3.
    Building Web Applicationswith ADO NET and XML Web Services 1st Edition Richard Hundhausen https://ebookgate.com/product/building-web-applications-with-ado- net-and-xml-web-services-1st-edition-richard-hundhausen/ Advances in Web based GIS Mapping Services and Applications 1st Edition Songnian Li https://ebookgate.com/product/advances-in-web-based-gis-mapping- services-and-applications-1st-edition-songnian-li/ Visual Basic 6 in Easy Steps 2nd Edition Tim Anderson https://ebookgate.com/product/visual-basic-6-in-easy-steps-2nd- edition-tim-anderson/ Subclassing and Hooking with Visual Basic 1st Edition Stephen Teilhet https://ebookgate.com/product/subclassing-and-hooking-with- visual-basic-1st-edition-stephen-teilhet/ Semantic Web Services Theory Tools and Applications Jorge Cardoso https://ebookgate.com/product/semantic-web-services-theory-tools- and-applications-jorge-cardoso/
  • 5.
    Copyright Many of thedesignations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison- Wesley were aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for special sales. For more information, please contact: Pearson Education Corporate Sales Division 201 W. 103rd Street Indianapolis, IN 46290 (800) 428-5331 corpsales@pearsoned.com Visit AW on the Web: www.awl.com/cseng/ Copyright © 2002 by Pearson Education All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. Published simultaneously in Canada. Library of Congress Catalog Card Number: 2001086076 Printed in the United States of America First Printing: May 2002 05 04 03 02 4 3 2 1
  • 6.
    Trademarks All terms mentionedin this book that are known to be trademarks or service marks have been appropriately capitalized. Addison-Wesley Professional cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark. Warning and Disclaimer Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied. The information provided is on an "as is" basis. The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the programs accompanying it. Credits Acquisitions Editor Sondra Scott Development Editor Laurie McGuire Managing Editor Charlotte Clapp Project Editors Tony Reitz Linda Seifert Copy Editor Pat Kinyon Indexer Eric Schroeder
  • 7.
    Proofreader Andrea Dugan Technical Editors KenCox Jawahar Puvvala Team Coordinator Lynne Williams Media Developer Dan Scherf Interior Designer Gary Adair Dedication To Jean. Thanks for always believing in me. —Scott For Lauren and Jodi —Eric To my wife, Oshrat, for all her support and patience, and to our daughter, Zoe Amit, who was born during the writing of this book. —Deon
  • 8.
    Foreword Looking back atthe last 30 years of human-computer interaction, a number of key milestones stand out prominently: the shift from the mainframe computing to the PC, the introduction of the graphical user interface, the move from 16- to 32-bit processors, and most recently, the pervasiveness of the Internet and the Web. Each of these landmarks represents a fundamental turning point in the relationship between human and machine. They also served to address some of the most pressing industry challenges of the time, from providing a viable platform for consumer-based computing to satisfying the need for richer, graphical user interaction to enabling ubiquitous application deployment and access. Now, as businesses seek to address the ongoing fundamental challenges of software integration, a new technology called XML Web services is promising to once again fundamentally transform and enhance the way consumers and businesses interact with computers. The core concept behind these Web services is relatively straightforward[md]components that are accessible using standardized Internet protocols. Yet their potential to affect the industry is both far-reaching and profound. Similar to computing revolutions of the past, XML Web services represents a new paradigm around which the entire computing industry is converging. Partners and competitors alike are quickly recognizing the value of XML Web services as a universal component architecture[md]one that spans programming languages, networks, and even platforms. But why this sudden move to a new software integration paradigm when technologies such as DCOM and CORBA already exist? Although they provide a viable option for integration of systems residing in a uniform corporate Intranet, they lack the capability to adapt to the loosely coupled, heterogeneous environment of the Internet. As this became evident to more and more businesses that required integration not only within the firewall, but also with diverse business partners and customers, it became clear that the path to success lay not in tightly-coupled, proprietary systems, but in the adoption of integration technologies based on open standards. This is the fundamental differentiator and the key to the success of Web services. For developers, Web services present a nearly limitless world of new opportunities. Because of the fundamental issues they address, Web services are pertinent to the entire spectrum of today's software, from rich Windows applications, to thin-client Web
  • 9.
    applications to theemerging market of mobile device software. For Visual Basic developers, Web services represent a new era in component creation and reuse. From day one, Visual Basic developers have been avid consumers of preexisting components. With XML Web services, the ability to consume components is vastly expanded to the Internet, across firewalls and even to other operating systems. And with Visual Basic .NET, the ability to call this remote functionality is as easy as setting a reference to an existing COM component in VB 6.0. Building XML Web services in Visual Basic .NET is just as effortless. In fact, if you've ever written a class in Visual Basic 6, you're well on your way to creating Web services that can be deployed locally, on your corporate Intranet, or on the Internet itself. In Creating and Consuming Web Services in Visual Basic, the authors cover the basics of XML Web service construction and consumption as well as numerous advanced topics associated with Web-service development. Their practical approach to describing the concepts of Web services will have you up and running in the first chapter. From there, you'll discover and implement Web services that address pertinent issues of security, state management, and asynchronous calls as well as the ever-important bottom line: how Visual Basic .NET and XML Web services can save your business money, promote integration with business partners and customers, and reduce your project's time to market. As we enter a new era in component development and reuse, Visual Basic .NET and XML Web services empower us as VB developers to continue to be on the cutting edge of application development. And with this book, you've already taken the first step to understanding and implementing these crucial components that will take our Visual Basic applications to the next level. Ari Bixhorn Product Manager Visual Basic .NET Microsoft Corporation
  • 10.
    About the Authors ScottSeely works for Microsoft. He is a member of the MSDN Architectural Samples team bringing you content in the form of the Favorites Web Service and Web Service How-To (if the content was on interop with other toolkits, Scott probably wrote it) and as coauthor of the "At Your Service" Voices column on msdn.microsoft.com. He has authored two other books for Prentice Hall-PTR: Windows Shell Programming and SOAP: Cross Platform Web Service Development Using XML. When not thinking about Web Services, Scott likes to go hiking or on bike rides with his family. Eric A. Smith works as an independent consultant, author, and trainer in the Indianapolis area. He is also the owner of Northstar Computer Systems (www.northcomp.com), a value- added reseller and Web hosting company. His company was one of the first to offer commercial .NET hosting services to its clients. Eric has written or contributed to 12 books covering Microsoft technologies, including ASP.NET at Work: 10 Enterprise Projects (Wiley). He can be reached at eric@northcomp.com. Deon Schaffer has been developing with Visual Basic and other Microsoft technologies for more than seven years. For several years now, Deon's focus has been on designing and developing Windows DNA applications. Recently, he has concentrated specifically on Microsoft's .NET initiative. Deon has a Bachelor's degree in Industrial Engineering with a major in Information Systems Engineering from the Ben-Gurion University in Be'er Sheva, Israel. He is also a Microsoft Certified Solutions Developer(MCSD). Deon is a senior consultant at Information Strategies in Washington, DC. He can be reached at Deon_Schaffer@hotmail.com. About the Technical Editors Ken Cox is a technical writer and Web developer in Toronto. A Microsoft Most Valuable Professional (MVP), Ken is a frequent contributor to computer books and magazines dealing with Microsoft technologies, especially ASP.NET. Before turning his interests to computers and things high-tech, Ken had a successful career as a broadcast journalist in Toronto and Quebec City. Contact Ken at kjopc@hotmail.com. Jawahar Puvvala currently works as a senior developer. He has a great deal of experience in Microsoft and Java technology and has designed and developed several enterprise level systems. J.P. has two Master's degrees (Hong Kong University of Science and Technology and Florida Institute of Technology) and holds MCSD, MCSE, and MCDBA certifications. He has published several conference and journal papers.
  • 11.
    Acknowledgments I have tostart out by thanking my wife, Jean, and my children for their patience while Daddy wrote another book. I don't think that they were ready for this so soon. Fortunately, this is a team effort, and I had help from some great coauthors. Because of them, I don't feel quite so burned out this time around. I would like to thank Tim Moore at Prentice Hall for giving me an excuse to learn about SOAP, starting with his little note back in December of 1999 saying "So, what do you think?". By getting really involved with the protocol, I have had an opportunity to meet many great people (you know who you are) and do great things (working at Microsoft ROCKS!). I'd like to thank Kent Sharkey and Michael Edwards for talking me into going to Microsoft to help shape how people use XML Web Services (the broader term describing SOAP and its related technologies). By working there, I've had an opportunity to work and cooperate with others active in shaping where Web Services are taking us. This includes folks outside Microsoft. I really feel that this is a community effort and that it is working very well. Thanks to Kenn Scribner and Mark Stiver for introducing me to the good folks at Sams Publishing. I told the Sams people that I never want to write a book on my own again (I've done so twice already), but that I would gladly be part of a larger team. They said "cool" and provided a good opportunity to help out within a few weeks of my opening my mouth. In case you are curious why I am thanking Sams Publishing in a book published by Addison-Wesley, some of the team working on the book was reorganized into Addison-Wesley from Sams early in 2002. Many of their titles went with them, including this one. As a result, the team has never changed, just the name of the imprint. While reviewing the Scribner and Stiver book, Applied SOAP: Implementing .NET XML Web Services, I got to work with Laurie McGuire. I was excited to hear that Laurie would be the development editor on this text as well. Laurie never leaves me waiting for material and is patient when I slip delivery by a day or two. Finally, I want to thank Linda Engelman for passing my name to Sondra Scott. Sondra really believed in this book and thought it should be written. I hope she is happy about what we all created. I know that I am. —Scott First of all, I give God the glory for giving me the strength to get this book done. My wife and daughter were understanding, as usual, with Daddy having to lock himself in his office every so often. Sondra Scott and Laurie McGuire were understanding and helpful
  • 12.
    in getting themanuscript into shape. Scott Seely provided good guidance on the chapters that I contributed. Thanks to all! —Eric
  • 13.
    Introduction Applications of WebServices What You Will Need Who Is This Book For? Part I. The Basics Chapter 1. Create Your First Web Service The "Hello World" Operation Other Files in the Project Passing Complex Types Returning Arrays of Simple Types Returning Arrays of Structures Summary Chapter 2. Consuming Your First Web Service Attaching a Web Reference Command-Line Interface Applications Graphical User Interface (GUI) Applications Web Applications Web Services Calling Other Web Services Summary Chapter 3. SOAP, WSDL, and UDDI Explained SOAP WSDL UDDI Summary Chapter 4. Shaping the WSDL, XML, and SOAP Message Shaping the WSDL File Creating a Custom SOAP Extension Creating a Server Based on a WSDL File Using Visual Studio to Register Your SOAP Endpoint in UDDI Summary
  • 14.
    Chapter 5. TroubleshootingWeb Services/Consumers Viewing SOAP Message Exchanges Debugging a Web Service at the Server Debugging a Web Service Remotely Debugging Web Services Under Load Items to Include in Your Test Plan A Simple Example Summary Part II. Going Deeper Chapter 6. Security Issues with Web Services Equipment Deployment Authenticating Users Guarding Data Tracking User Activity Summary Chapter 7. Looking at the "Abilities" Availability Scalability Manageability Performance Summary Chapter 8. Asynchronous Web Services Synchronous Versus Asynchronous Calls Design Pattern for Asynchronous Method Calls Calling a Web Service Asynchronously Server to Server Asynchronous Communications Summary Chapter 9. Stateful Services Benefits of Maintaining State: Performance and Scalability
  • 15.
    Maintaining State withthe Session Object Maintaining State with the Application Object Maintaining State with the Cache Object Custom State Management Summary Chapter 10. Microsoft SOAP SDK Using the SOAP Toolkit on the Server Using the SOAP Toolkit on the Client Summary Chapter 11. Converting Legacy Applications to Web Services Adding Web Service Support to COM+ Applications Reusing an Existing COM Object Within a Web Service Migrating from Visual Basic 6 to Visual Basic .NET Summary Part III. Solving Real-World Problems Chapter 12. Business to Business XML Web Services Choosing the Right Technology Designing the Web Service Building Elise's Emporium Summary Chapter 13. Business to Customer XML Web Services Designing the Database Designing the Application Referencing the External Web Service Creating the List Window Adding the List Window Code Designing the Stock Editing Window Summary Chapter 14. Platform Integration
  • 16.
    Assembling the Tools Buildingthe Web Services Building the Mobile Application Summary Chapter 15. Portals Designing the Database Configuring the Application Adding the Business Objects Creating the Web User Controls Building the Web Pages Summary Chapter 16. Profiting From Your Web Services Creating Services that Fill a Need Decreasing Business Costs Revenue Models Marketing the Web Service Summary Appendix A. Additional Resources XML General General .NET Information General Web Service Information SOAP/XML Protocol Remoting UDDI WSDL Transactions Tools Security ebXML Sample Web Service
  • 17.
  • 18.
    Introduction One of themore confusing items about Web Services regards defining exactly what and why they are. Let's begin with why they exist. Web Services exist to make it easier to integrate applications. Existing technologies include Java RMI, CORBA, and DCOM. All of these technologies work over networked environments and allow for application integration. This application integration is possible if all the components are reachable over a LAN. However, when going out to the public Internet, these networked applications start to break down. Another problem is that none of these technologies work well for cross platform, cross language integration. Often, working with one of these technologies ties you to a particular language, operating system, or toolkit that must be uniform across the solution. In today's world, the odds of having all systems being written in the same language or using the same operating system and interconnection libraries is fairly small. Add to this a desire to connect these applications across large distances using the Internet and you will find that almost all of these technologies come up short. The necessity of addressing these shortcomings gave birth to Web Services. So, what are they? A Web Service is a programmatic interface that is accessible via the Internet. As such, it must rely on standardized protocols. You may be aware of the various technologies surrounding Web Services. SOAP (an abbreviation that does not really mean anything anymore), Web Services Description Language (WSDL), and Universal Description Discovery and Integration (UDDI) are just a few of the technologies that are a part of Web Services. To make Internet accessibility a reality, SOAP v1.1 and v1.2 rely on existing, widely deployed technologies. The de facto minimum requirements for Web Service interaction state that the platform, whether client or server, must understand the following standards: • Hypertext Transfer Protocol (HTTP) • Transmission Control Protocol/Internet Protocol (TCP/IP) • eXtensible Markup Language (XML) • XML Schema Definition (XSD) Due to the wide adoption of the Internet and XML, it is extremely difficult to find an operating system or programming language that does not have some support for these standards. Because the interest in Web Services is building to a fever pitch, vendors and individuals are rallying to make additional Web Service–specific tools available. While not a silver bullet for interoperability woes, talking to other languages and platforms just got a lot easier to do.
  • 19.
    For many people,the promise of interoperability drew them into learning more about Web Services. As a Visual Basic developer, this promise may have caused you to buy this book. One question probably remains: How real is this promise of interoperability? For any two implementations to work together, they typically have to agree on two items: what the WSDL for a particular interface looks like and how to represent the SOAP message for any given operation in XML. To this end, the many serious development teams and individuals are working together to make sure they all agree. At XMethods, http://www.xmethods.com/ilab, you can see a list of all the participants. This page also describes what it means to pass or fail the set of tests, as well as the tests themselves. If an implementation is not a part of this effort, you should steer clear of it. Yes, the Microsoft implementations are active in this process. Applications of Web Services Before going too far into this book, you should understand some of the reasons for using a Web Service: Interface between languages where a binary interface does not exist or is inappropriate to use— For example, you may want a Perl script to be able to talk to a Visual Basic interface. Interface in between systems— For example, you may want to make a business application on a mainframe accessible to boxes scattered throughout the business. You need to allow a wide, unknown array of clients to access your application— This is a common requirement in larger applications assembled using "best of breed" components. You are exposing the functionality as a service for a fee— In this case, instead of inventing your own protocol, use what Web Services provide to you. Examples include stock trading services and access to research databases, among other things. When creating a Web Service, make sure that the various APIs are stateless. If you must maintain a pseudo-state, that state information should be obtainable from data passed in the SOAP messages. For example, a Web Service may require that users be validated. To do so, they log in and receive an authentication token. Other Web Service calls will require that the token appear somewhere within the SOAP message. With this, you have state (the user is "logged in") and this state is maintained over transient connections. Maintaining state this way helps with scalability and will be covered in Chapter 6, "Security Issues with Web Services." What You Will Need
  • 20.
    While you couldrun most of these examples using the free Microsoft .NET Framework SDK, you will get the greatest benefit and productivity by using Visual Studio .NET. This book assumes that the reader has Visual Studio .NET installed. This book will still be valuable to users with only the SDK, but many things will be harder to do. You should also have a copy of the Microsoft SOAP Toolkit v2 installed on your machine. Yes, install this even if all you do is program .NET applications. The toolkit comes with an application called MSSOAPT.EXE. This application allows you to review the SOAP messages going between the SOAP endpoints. The machine that you are developing on must have Internet Information Server (IIS) installed. Without it, you will not be able to run the examples in the book or develop Web Services on your local machine. This is only available on Windows NT 4.0, Windows 2000, and Windows XP. The good news is that all versions of these operating systems can host IIS. On the Professional versions of XP and 2000, you need to explicitly install IIS. You can do this through the Add/Remove Programs Control Panel applet. Refer to your Windows documentation for instructions. NT 4.0 Workstation can host IIS 4.0. This is available through the Windows NT 4.0 Option Pack. Finally, it would help to have a good book on Visual Basic .NET handy. Learn Visual Basic .NET in 21 Days by Kent Sharkey and Duncan MacKenzie is one text that would work nicely. Their book serves as an overview of the language. Who Is This Book For? Because Web Service development with Visual Basic will attract Internet-savvy developers, Visual Basic application developers, and hobbyists, a wide range of people will be picking up this text and reading it. You do not necessarily need a lot of experience with the latest version of Visual Basic. That said, you should know that the language has changed a bit and has become more flexible. If you have not made yourself familiar with the changes, you should plan on updating your knowledge on Visual Basic .NET specifics along with this book. You probably bought this book for one of two reasons: • You want to learn how to write code that uses Web Services just to keep up to date. • You just found out that you need to expose your application to outside applications and you need to learn this stuff as fast as possible. With these goals in mind, this book is organized into the following parts:
  • 21.
    Part I: TheBasics— Part I gets you programming right away. Almost everyone should, at a minimum, skim all of Part I before proceeding through other chapters. Keep in mind that the examples presented in Chapters 1, "Create Your First Web Service," and 2, "Consuming Your First Web Service," are appropriate for only one reason—they teach the concepts without burying you in special techniques. You would never offer these to internal applications or external partners, but they are very useful for getting you started learning the basics of Web Services. In subsequent chapters, you will tackle practical and realistic examples. Part II: Going Deeper— Part II covers some of the more advanced Web Service topics. In it, we examine securing a Web Service and tradeoffs you can make to maximize the scalability, reliability, and manageability of a Web Service. With some of the Web Services, you will have a need to maintain some kind of state in between Web Service calls. Different techniques for maintaining that state are useful depending on the circumstances. This section closes out with a look at Web Service enabling existing applications written using Visual Studio 6.0 and the Microsoft Web Services Toolkit. Part III: Solving Real-World Problems— Part III examines the uses of Web Services in real world situations. Web Services can be used to enable integration between business partners and customers. Within your own business, you can use Web Services to tie your heterogeneous computing environment together. The section closes out with a look at how this investment in Web Services can help improve your business's bottom line. Now, let's jump right in and learn how to write Web Services!
  • 22.
    Part I: TheBasics This section allows you to jump right in by creating and using a very simple Web Service. Then, you'll take a look at features such as SOAP, WSDL, UDDI, how they work and how you can take advantage of them through the XML and Web Service-specific attributes in .NET. You conclude your study of the basics by learning how to find and fix any bugs in the Web Services you create and consume. IN THIS PART 1 Create Your First Web Service 2 Consuming Your First Web Service 3 SOAP, WSDL, and UDDI Explained 4 Using Attributes to Shape WSDL and XML 5 Troubleshooting Web Services/Consumers
  • 23.
    Chapter 1. CreateYour First Web Service IN THIS CHAPTER • The "Hello World" Operation • Other Files in the Project • Passing Complex Types • Returning Arrays of Simple Types • Returning Arrays of Structures If you have never written a Visual Basic .NET Web Service before, you are in the right place. You may be under the impression that Web Services are hard to write and deploy. With many toolkits, that impression is 100% correct. Fortunately, .NET was designed with Web Services in mind, making their coding and deployment an easy task. As someone who has used several of the more popular toolkits out there, I can honestly say that .NET is by far the easiest to use. In this chapter, we are going to develop a Web Service that exposes a set of operations that demonstrate what .NET can do for you without you knowing a thing about what is going on under the covers. The demonstration will showcase the following items: • A "Hello World" operation that shows the basics • Returning a simple structure • Returning an array of simple data types • Returning an array of complex data types The reason we are focusing on returning the items instead of passing them as arguments is simple—.NET will allow me to show you the results of the operations through Internet Explorer. To do so, all I have to do is make sure that none of the operations takes a complex type as an argument. In Chapter 2, "Consuming Your Web Service," we will look at how easy it is to write a client for this Web Service. Let's dig in! The "Hello World" Operation Before you get the idea that "Hello World" is just a silly little example, consider that "Hello World" can do a great job diagnosing some basic problems. If a machine has an endpoint that returns a simple string when called correctly, programs using that code can perform simple tests to see if they can connect to the server.
  • 24.
    The good newsfor us is that the wizards inside Visual Basic .NET will write this operation for us. To get there, we need to go through the Visual Studio IDE and create a new project. To do so, perform the following steps: Open up Visual Studio .NET. Select File, New Project. Select the following items in the New Project dialog ( (as shown in Figure 1.1): o Project Types: Visual Basic Projects o Templates: ASP.NET Web Service o Name: Chapter1 o Location: http://localhost Figure 1.1. Creating a Visual Basic .NET Web Service project. Click OK. At this point, the IDE will create the Web Application on your local machine and generate the files needed for your Web Service. A skeleton class for a Web Service will be created as well. This class is always named Service1. Few people actually want a class named like this. To get a class with a meaningful name, you have two options—rename everything or
  • 25.
    delete Service1.asmx fromthe project and create a new class with a better name. Deleting the existing class has the added advantage that you will not miss some tiny detail. To delete Service1.asmx from the project, simply right-click the filename and select Delete. When the IDE warns you that the file will be permanently deleted, press OK. Now, let's add a new, better-named class to the project. In the IDE, select Project, Add Web Service. In the Add New Item dialog, name the Web Service FirstService.asmx (see Figure 1.2). Figure 1.2. Adding a Visual Basic .NET Web Service Class. Click Open. You should now be looking at a screen similar to the one shown in Figure 1.3. From here, click the text Click Here to Switch to Code View. The wizard generated the sample in Listing 1.1 just for you.
  • 26.
    Figure 1.3. IDEimmediately after adding a new .NET Web Service Class. Listing 1.1 Wizard-Generated Code for Web Service Public Class FirstService Inherits System.Web.Services.WebService #Region " Web Services Designer Generated Code " Public Sub New() MyBase.New() 'This call is required by the Web Services Designer. InitializeComponent() 'Add your own initialization code after the InitializeComponent() call End Sub 'Required by the Web Services Designer Private components As System.ComponentModel.Container
  • 27.
    'NOTE: The followingprocedure is required by the Web Services Designer 'It can be modified using the Web Services Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() components = New System.ComponentModel.Container() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) 'CODEGEN: This procedure is required by the Web Services Designer 'Do not modify it using the code editor. End Sub #End Region ' WEB SERVICE EXAMPLE ' The HelloWorld() example service returns the string Hello World. ' To build, uncomment the following lines then save and build the project. ' To test this web service, ensure that the .asmx file is the start page ' and press F5. ' '<WebMethod()> Public Function HelloWorld() As String ' HelloWorld = "Hello World" 'End Function End Class To enable the HelloWorld function, simply uncomment three lines of code. <WebMethod()> Public Function HelloWorld() As String HelloWorld = "Hello World" End Function
  • 28.
    If you havenot used Visual Basic .NET before, the statement before the keyword Public may look a bit odd. The value in angle brackets (< >) is an attribute. The languages shipping with .NET all allow for the use of attributes before class declarations, member variables, or methods. The attributes are specific to the data immediately following them. Instead of creating extra executable code, attributes provide metadata for the functions. When the Common Language Runtime (CLR) encounters that metadata, it may execute code or generate some other behavior. We will cover the attributes specific to Web Services in Chapter 4, "Using Attributes to Shape WSDL and XML." When the CLR sees the attribute <WebMethod()> when loading a class through an .asmx file, it knows to expose the method as a part of a Web Service. Web Services themselves only need to derive from the base class System.Web.Services.WebService to be able to access the ASP.NET Session and Application objects. You could just as easily not derive from System.Web.Services.WebService and still have a fully functional Web Service. To build the project, go to the Build menu and select the Build option. To see if everything worked, open Internet Explorer and navigate to http://localhost/Chapter1/FirstService.asmx. After doing this, you should be presented with the screen shown in Figure 1.4. The page contains a warning that we will explore shortly. Figure 1.4. What ASP.NET presents for a .asmx page. To get the screen shown in Figure 1.4 and any other links we might follow from this page, we had to do no work. Instead, ASP.NET generates the pages for us by using the .NET reflection APIs. We will cover how this all works in Chapter 4. Just know that .NET makes your life very easy.
  • 29.
    On the generatedpage, you will see a link to the HelloWorld operation. If you follow that link, you will be presented with a page that allows you to call the function and that outlines how to call the function using SOAP, HTTP/GET, and HTTP/POST. You see the general format of the message exchange—what to send and what to expect in return. This is another helpful piece of documentation that ASP.NET writes for you (see Figure 1.5). This page also allows you to call the Web Service by clicking the Invoke button. Figure 1.5. Documentation ASP.NET generates for a Web method. When you press Invoke, Internet Explorer will not use SOAP to call the underlying function. Instead, it will call the Web Service using HTTP GET. The actual exchange will look like the following: Request: GET /Chapter1/FirstService.asmx/HelloWorld? HTTP/1.1 Host: localhost Response: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">string</string>
  • 30.
    Clicking Invoke, weget the following response: <?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">Hello World</string> For most of this book, we will only work with SOAP requests and responses. A SOAP Request/Response typically has this format: <Envelope> <Header></Header> <Body>[interesting stuff here]</Body> </Envelope> But, Web Services can exist outside of the SOAP protocol. You can also send XML in a regular HTTP GET or POST request and return raw XML from that same request. When you do this, you are using Web Services in their simplest forms. To create the fancier, more powerful messages, only SOAP will work. You will see a lot of messages in this chapter and the next. The idea is for you to become comfortable reading the messages. Outside of some special properties of the SOAP Envelope, your messages will be primarily Body content. That content is regular XML and only loosely related to SOAP. This book assumes you are already familiar with XML and that is why we start out with the simplest Web Service messages possible: HTTP GET/POST. Other Files in the Project Before we run headlong into the remaining examples, let's take a moment and see what other files got included in the project and where they sit on your hard drive. Looking at the Solution Explorer pane in Figure 1.3, you see the following files in your project: AssemblyInfo.vb Contains version information related to the Visual Basic project. [Project Name].vsdisco Contains the dynamic discovery information for this Web Service. The ASP.NET runtime uses this to discover and list all the Web Services hosted on a particular machine. Global.asax Use this class to add handlers called by the ASP Application and Session objects. Web Services must derive from System.Web.Services.WebService to get access to these objects.
  • 31.
    Web.config Configuration informationrelated to the Web application. You can use this file to specify database connection strings, security settings, globalization settings, and other application-specific items. By the time you are done reading this book, you will see the importance of Web.config because we will use it frequently. .NET uses config files extensively. These files are meant to replace static Registry settings. As an added bonus, they allow you to specify data that influences program behavior in an easy-to-use format. You can experiment with security, change databases, or edit application-specific settings without rebuilding the program. For example, let's say that we wanted to change the default string that our HelloWorld returned. To do this, we would open up Web.config and add the following section as a child element of the configuration root element: <appSettings> <add key="ReturnString" value="I love config files!" /> </appSettings> You should know that the elements not in quotes must appear as is. The add element has two attributes—key and value. When accessing application settings, you access them by key to get the associated value. Each key must be unique. After this XML is entered into Web.config, modify HelloWorld to read the ReturnString value from the configuration file. <WebMethod()> Public Function HelloWorld() As String HelloWorld = System.Configuration.ConfigurationSettings. _ AppSettings.Get("ReturnString") End Function Now, when you invoke HelloWorld via the ASP.NET–generated interface, it returns the following: <?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">I love config files!</string> And yes, if you change the value attribute while the program is running, the program will get the new data the next time it goes to look. In the Web.config file, you will spend more time modifying appSettings than doing anything else. The first time you go into Web.config, the appSettings element does not exist. After you add it, if you need additional key/value pairs stored, just add them to the one appSettings element. For example, to add another element, the appSettings section would expand as follows: <appSettings>
  • 32.
    <add key="ReturnString" value="Ilove config files!" /> <add key="AnotherKey" value="Another Value" /> </appSettings> Let's continue the example by having it handle a class object. Passing Complex Types ASP.NET makes it exceptionally easy to pass complex types as Web Service arguments and return values. If the complex type is passed as a method argument, ASP.NET will only be able to support SOAP messaging. This is because no definition exists to describe how to pass complex types as arguments via HTTP/GET or HTTP/POST. You can return complex types via these methods. So that we can see the immediate results of our coding via Internet Explorer, we will return the type. Many people who learn of this functionality are often surprised to find out that when a value is passed via a Web Service, only the publicly visible fields are serialized. The receiver of the object has no access to any methods that the object may expose. Instead, the recipient of the object must already know what to do with the object when it is received. If you need to pass objects with methods intact, do not use Web Services. The Common Language Runtime (CLR) within .NET provides mechanisms when object identity and object value must be preserved. Web Services can only preserve the public object values. To keep things simple, we will create a class called Person. Person will contain a Name object and a date for the person's birthday. Listing 1.2 shows a pair of classes that form a complex type. Name contains three strings and is itself a complex type. Person makes it a little more interesting for serialization because it must also serialize a Name inside. Listing 1.2 Source for Name and Person Objects Public Class Name Public First As String Public Middle As String Public Last As String End Class Public Class Person Public theName As Name Public birthDay As Date Public Sub New()
  • 33.
    theName = NewName() End Sub End Class So far, so good. Now, we need to add a Web Method to the FirstExample object that returns a Person, as shown in the following code: <WebMethod()> Public Function GetPerson() As Person GetPerson = New Person() GetPerson.birthDay = System.DateTime.Parse("April 5, 1972") GetPerson.theName.First = "Scott" GetPerson.theName.Middle = "Christopher" GetPerson.theName.Last = "Seely" End Function To test things out, we navigate over to http://localhost/Chapter1/FirstService.asmx and click GetPerson. Here, we see that the request and response via Internet Explorer will be fairly plain: Request: GET /Chapter1/FirstService.asmx/GetPerson? HTTP/1.1 Host: localhost Response: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <Person xmlns="http://tempuri.org/"> <theName> <First>string</First> <Middle>string</Middle> <Last>string</Last> </theName> <birthDay>dateTime</birthDay> </Person> When we invoke the method, the Web Service responds as expected with the following:
  • 34.
    <?xml version="1.0" encoding="utf-8"?> <Personxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> <theName> <First>Scott</First> <Middle>Christopher</Middle> <Last>Seely</Last> </theName> <birthDay>1972-04-05T00:00:00.0000000-07:00</birthDay> </Person> As you can see, the Person element came across with two sub-elements—theName and birthDay. The amazing part here is that no object-specific code had to be written to write it out as XML. Returning Arrays of Simple Types ASP.NET treats arrays of simple types as a list of items. Like everything we have seen so far, developers have little to think about other than stating that an array is being passed in or returned. To demonstrate the power here, we will write a Web Method in Listing 1.3 that returns an array of random numbers. As arguments, it will take the number of items to be returned as well as the smallest and largest permissible values to be returned. Listing 1.3 Source for the FirstService.GetRandomNumbers Function <WebMethod()> Public Function GetRandomNumbers( _ ByVal arraySize As Long, ByVal min As Long, _ ByVal max As Long) As Long() Dim retval(arraySize - 1) As Long Dim rnd As New System.Random() Dim index As Long For index = 0 To retval.Length - 1 retval(index) = rnd.Next(min, max) Next GetRandomNumbers = retval End Function
  • 35.
    The code createsan array of size arraySize and a random number generator. Using the random number generator, the code loops through all the elements assigning them different values, and then returns those values to the caller. The Next function takes two values and returns a random number within that range. The return value from this function will be as small as the minimum value but never as large as the maximum. In mathematical terms, Next returns a value in the range (min, max). When testing this function from Internet Explorer, we will continue to use HTTP/GET. The message exchange will look something like the following: Request: GET /Chapter1/FirstService.asmx/GetRandomNumbers? arraySize=string&min=string&max=string HTTP/1.1 Host: localhost Response: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <ArrayOfLong xmlns="http://tempuri.org/"> <long>long</long> <long>long</long> </ArrayOfLong> To get five values between –1000 and 1000, I would fill in the generated form as shown in Figure 1.6. The outgoing request is then formatted within the URL as http://localhost/Chapter1/FirstService.asmx/GetRandomNumbers?arrayS ize=5&min=-1000&max=1000. This request returns the XML shown in Listing 1.4.
  • 36.
    Figure 1.6. Usingthe ASP.NET–generated Web page to call GetRandomNumbers. Listing 1.4 Returned XML for call to GetRandomNumber <?xml version="1.0" encoding="utf-8"?> <ArrayOfLong xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> <long>-593</long> <long>203</long> <long>-158</long> <long>799</long> <long>20</long> <long>-930</long> </ArrayOfLong> Simple arrays get passed around all the time. It may be a list of temperatures, dates, strings, or something else. Arrays of structured data are equally common. Returning Arrays of Structures
  • 37.
    Many times, applicationsneed to return arrays of structured data. Frequently, this data is stored in a database or on a device and needs to be transmitted en masse. For example, when requesting the details of a purchase order, it makes sense to return the lines and delineate the parts of the line. A line item might contain the following details: • Part number • Part name • Part description • Quantity ordered • Price per part As we saw with the GetPerson example, a bit of structured data can contain other structures. Likewise, arrays can appear anywhere within the data. Arrays are very powerful and are often quite handy. Fortunately, .NET handles these well too. To keep things simple, we will not introduce any new classes for this example (see Listing 1.5). Instead, we will take an example that returns an array of names. This example will return a list of all the authors (contributing authors included) involved with this book. Listing 1.5 Source for the FirstService.GetAuthorNames Function <WebMethod()> Public Function GetAuthorNames() As Name() Dim firstNames() As String = {"Scott", "Michael", "Jeffrey", "Deon"} Dim lastNames() As String = {"Seely", "Carnell", "Huntsman", "Schaffer"} ' Array will be dimensioned 0 to firstNames.Length - 1. The ' assumption here is that firstNames.Length == lastNames.Length Dim retval(firstNames.Length - 1) As Name Dim index As Long ' Instantiate the four names For index = 0 To retval.Length - 1 retval(index) = New Name() retval(index).First = firstNames(index) retval(index).Middle = "" retval(index).Last = lastNames(index) Next GetAuthorNames = retval End Function
  • 38.
    To make thingsvery simple, all the first names are stored in one array and the last names in another. Then, as the code loops through initializing the individual array elements, it also sets the values for the Name.First, Name.Middle, and Name.Last. Again, we will test this Web Method using the HTTP/GET interface. The message exchange will look like the following: Request: GET /Chapter1/FirstService.asmx/GetAuthorNames? HTTP/1.1 Host: localhost Response: <?xml version="1.0" encoding="utf-8"?> <ArrayOfName xmlns="http://tempuri.org/"> <Name> <First>string</First> <Middle>string</Middle> <Last>string</Last> </Name> <Name> <First>string</First> <Middle>string</Middle> <Last>string</Last> </Name> </ArrayOfName> When choosing the Invoke button on the generated Web page, the names are returned with the following XML: <?xml version="1.0" encoding="utf-8"?> <ArrayOfName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"> <Name> <First>Scott</First> <Middle /> <Last>Seely</Last> </Name>
  • 39.
    <Name> <First>Michael</First> <Middle /> <Last>Carnell</Last> </Name> <Name> <First>Jeffrey</First> <Middle /> <Last>Huntsman</Last> </Name> <Name> <First>Deon</First> <Middle/> <Last>Schaffer</Last> </Name> </ArrayOfName> Once again, the serialization is done without any effort on the developer's part. Summary Visual Basic, working together with the .NET runtime, gives developers the ability to easily create Web Services with little or no knowledge of XML, SOAP, or the underlying machinery. Because you will rarely have to concern yourself with the particulars, you can concentrate on developing good, solid code. You can easily pass around simple and complex types, as well as arrays. In this chapter, we tested the various functions by using the HTTP/GET interface. Web Services can typically be accessed via HTTP/GET, HTTP/POST, and SOAP. The rest of the book will concentrate on talking to Web Services using SOAP. The messages are slightly different from what we showed here. We will look at the SOAP messages being exchanged between the client and server. As a Web Service programmer, you will find it helpful to become very familiar with what these messages look like. Chapter 3, "SOAP, WSDL, and UDDI Explained," will cover the SOAP protocol in detail.
  • 40.
    Chapter 2. ConsumingYour First Web Service IN THIS CHAPTER • Attaching a Web Reference • Command-Line Interface Applications • Graphical User Interface (GUI) Applications • Web Applications • Web Services Calling Other Web Services In the previous chapter, we created a Web Service that showed the variety of things you could do. The next thing we need to cover is consuming that Web Service. It might have many different types of clients. Anything that can talk to a Web Service might come calling. The following are just a few examples of the entities that might call your Web Service: • Command-line interface (CLI) applications • Graphical user interface (GUI) applications • Web applications • Other Web Services When using Visual Basic .NET, the code you write to talk to a Web Service does not vary based on the client type. To emphasize that point, we will build a simple example for each of the four different Web Service clients just mentioned. Each example will only access one of the methods the Web Service exposes. To test your understanding of the subject matter, I encourage you to work along with the examples. After you complete the chapter, modify the individual example applications to access Web Methods not used by that example. We will begin by looking at how you attach a Web reference. Regardless of application type, you always attach a Web reference the same way. Attaching a Web Reference Visual Studio .NET has a special name for the machinery that hooks up a Web Service client to the server—Web reference. A Web reference consists of the WSDL (Web Services Description Language) and any related disco files. It also includes the automatically generated code that the client uses to call the Web Service. We call this generated code the proxy. NOTE What is a disco file? It's a term for the Web Service discovery files. A given Web Service application may have multiple Web Services running within the same .NET binary. The
  • 41.
    disco file enumeratesthe services available within that binary by listing the paths to the WSDL files. Within .NET, that typically maps to a listing of all the .asmx files in the directory with the string "?WSDL" appended to the end of the filename. When we hook up a Web Service, we can do so two ways—through command-line tools or through the Visual Studio IDE. In this text, we will concentrate on using the Visual Studio IDE. If you want to use the command-line tool WSDL.EXE, please refer to the Framework SDK documentation. So that you can follow along with these instructions, create a simple Visual Basic application in the Visual Studio IDE. The application type does not matter much, but to keep things simple, I recommend creating a Console Application. Let's attach to the Chapter1 Web Service using the IDE by following these steps: Select Project, Add Web Reference. In the Add Web Reference dialog, go to the Address combo box and type http://localhost/Chapter1/chapter1.vsdisco (see Figure 2.1). Figure 2.1. Adding a Web reference through the Visual Studio .NET IDE. Click Add Reference.
  • 42.
    NOTE Besides using theIDE, there are other ways to add references to Web Services. When you first open the Add Web Reference dialog, the opening screen (shown in Figure 2.2) shows that you have the option to view Web references that reside on the Local Web Server. Figure 2.2. The startup view of the Add Web Reference dialog. You can also add a Web reference by browsing straight to the WSDL file of the Web Service. To get the WSDL file for the Chapter1 Web Service, the URL would be http://localhost/Chapter1/FirstService.asmx?WSDL. In this case, you would still click Add reference to create the proxy. At this point, the Web reference has been added to the project and is contained in the localhost namespace. . When the IDE creates the proxy, the IDE automatically places the proxy in a separate namespace. The namespace comes from the start of the URL that helped grab the namespace in the first place. If you do not like the IDE chosen namespace, you can easily change the namespace. Just go to the Solution Explorer pane within the IDE, navigate to the Web references node, and right-click the Web reference you want to change. In our case, we right-click on the node underneath the Web Reference named localhost and select Rename from the pop-up menu (see Figure 2.3). Rename localhost to something slightly more meaningful: Chapter1.
  • 43.
    Figure 2.3. Manipulatingthe namespace associated with a Web reference. Now that this has been completed, we can also look at doing some other interesting things. In Chapter 1, "Create Your First Web Service," I indicated that the application configuration file would be something with which you should get very familiar. We are going to continue our education by looking at how we can get our Web Service to read the endpoint URL from the configuration file. In the IDE, go to the Solution Explorer pane and click the Chapter1 node underneath the Web References node. In the Properties pane, you should see the list of properties for the Web reference (see Figure 2.4). One of the properties is URL Behavior. This item can be static or dynamic. Static behavior means that the URL never changes and is stored in the proxy object base on the endpoint listed in the WSDL file. If the endpoint changes and you want to avoid rebuilding the application every time the Web Service does move, you can tell the application to look for the endpoint URL in the application configuration file by setting the URL Behavior to Dynamic. Under the covers, what is happening?
  • 44.
    Figure 2.4. Changingthe URL Behavior property related to a Web reference. To answer that question, we need to look at the proxy that the IDE generates for us. That proxy is located in a subdirectory of the main project. On my machine, this is located in My DocumentsVisual Studio ProjectsChapter2CLIWeb ReferencesChapter1FirstService.vb. When the URL Behavior property is set to Static, the constructor of the proxy looks like the following: <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Sub New() MyBase.New() Me.Url = "http://localhost/Chapter1/FirstService.asmx" End Sub When the URL Behavior property is set to Dynamic, the constructor of the proxy changes to the code shown in Listing 2.1. Listing 2.1 Proxy Constructor with URL Behavior Set to Dynamic <System.Diagnostics.DebuggerStepThroughAttribute()> _ Public Sub New() MyBase.New() Dim urlSetting As String = _ System.Configuration.ConfigurationSettings.AppSettings( _
  • 45.
    "Chapter2CLI.Chapter1.FirstService") If (Not (urlSetting)Is Nothing) Then Me.Url = String.Concat(urlSetting, "") Else Me.Url = "http://localhost/Chapter1/FirstService.asmx" End If End Sub As you can see, the code for the Dynamic URL behavior is a little different. The Dynamic lookup still defaults to the URL listed in the WSDL file. For reference, Listing 2.2 shows the service section of the FirstService.asmx?WSDL file. Listing 2.2 Service declaration From the FirstService.asmx?WSDL Listing <service name="FirstService"> <port name="FirstServiceSoap" binding="s0:FirstServiceSoap"> <soap:address location="http://localhost/Chapter1/FirstService.asmx" /> </port> <port name="FirstServiceHttpGet" binding="s0:FirstServiceHttpGet"> <http:address location="http://localhost/Chapter1/FirstService.asmx" /> </port> <port name="FirstServiceHttpPost" binding="s0:FirstServiceHttpPost"> <http:address location="http://localhost/Chapter1/FirstService.asmx" /> </port> </service> The proxy is a SOAP proxy, so it references the port named FirstServiceSoap and getting the endpoint from the soap:address element. The dynamic setting allows me to change this up a bit and access the Web Service using a URL defined in the application configuration file in an appSetting key named Chapter2CLI.Chapter1.FirstService. Because I used the IDE, this key has already been placed in the app.config file. I can change this URL to hit my local machine by its name, scottnb, instead of by localhost. The appSettings section now looks like the following:
  • 46.
    <appSettings> <add key="Chapter2CLI.Chapter1.FirstService" value="http://scottnb/Chapter1/FirstService.asmx"/> </appSettings> Command-Line InterfaceApplications The simplest user interface is the command-line application. It uses the console for its input and output. While not visually appealing, it often provides a fast and simple way to accomplish tasks. For our CLI application, we will have it call the HelloWorld Web Method and print the results. As you will recall, HelloWorld was modified in Chapter 1 to read its value from the Web.config file associated with the Web Service. The first things we need to do are open up Visual Studio and create a new project. In Visual Studio, you will see CLI applications called console applications. Perform the following steps to create the console application: Select File, Project, New Project. Select the following items in the New Project dialog: Project Type: Visual Basic Projects Templates: Console Application Name: Chapter2CLI Figure 2.5 shows what the dialog should look like.
  • 47.
    Figure 2.5. Settingup the Chapter2CLI application. At this point, you have a skeleton for a console application. The IDE should have an opened file called Module1.vb. Our next task is to hook in the Chapter1 Web Service. To do this, add a Web reference to http://localhost/Chapter1/Chapter1.vsdisco and rename the namespace from localhost to Chapter1. Your next step is to edit the Main subroutine. It will call HelloWorld, print the result to the console, and then exit. The edited code looks as follows: Sub Main() Dim svc As New Chapter1.FirstService() System.Console.WriteLine(svc.HelloWorld()) End Sub It does not get any easier than this. Figure 2.6 shows the output of this application.
  • 48.
    Figure 2.6. RunningChapter2CLI. I also promised you that we would look at the SOAP message exchange that occurs under the covers. The following is the request and response that occurred for our CLI application: Request: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <HelloWorld xmlns="http://tempuri.org/" /> </soap:Body> </soap:Envelope> Response: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <HelloWorldResponse xmlns="http://tempuri.org/"> <HelloWorldResult>I love config files!</HelloWorldResult> </HelloWorldResponse> </soap:Body>
  • 49.
    Other documents randomlyhave different content
  • 50.
    Im Jahr 1829haben keine Verkäufe stattgefunden; doch gingen in demselben Gelder für die im vorhergehenden Jahre verkauften Parcellen ein. Nachstehende Tabelle enthält die Summe der bewilligten Kron-Ländereien und die Bedingungen, unter welchen die Bewilligungen statt gefunden, — von 1823 bis 1832. U n t e r - C a n a d a . Jahr. Ansiedlern vom Militairstande bewilligte Ackerzahl. Entlaßnen Soldaten und Pensionairs bewilligte Ackerzahl. Offizieren bewilligte Ackerzahl. Bewilligte Ackerzahl, welche unter keine der vorhergehenden Rubriken gehört. Gesammtzahl der bewilligten Aecker. 1824 51,810 — — 4,100 34,859 90,769 1825 32,620 — — 1,000 16,274 49,894 1826 3,525 5,500 — — 48,224 57,249 1827 7,640 6,300 800 38,378 53,118 1828 7,300 — — 4,504 9,036 20,840 1829 3,200 — — — — 5,282 8,482 1830 18,425 — — 2,000 10,670 94,059 1831 9,400 8,273 3,408 9,990 30,981 1832 10,116 19,000 4,000 4,000 37,116 1833 5,200 22,500 1,200 — — 28,900 —— ——— ——— ——— ——— ——— Summa 212,236 61,573 21,012 176,623 471,444 B e d i n g u n g e n, die der Ansiedler zu erfüllen hat: — er muß binnen neunzig Tagen zwanzig Fuß Straße auf seiner Parcelle lichten. B e d i n g u n g e n für den Ansiedler vom Militairstande: — er ist verpflichtet, in einem Zeitraum von drei Jahren vier Acker seiner Parcelle zu lichten und zu cultiviren und ein Wohnhaus darauf zu erbauen.
  • 51.
    O b er - C a n a d a . Jahr. An Emigranten vom Militairstande vertheilte Ackerzahl. Entlaßnen Soldaten und Pensionairs bewilligte Ackerzahl. Offizieren bewilligte Ackerzahl. Bewilligte Acker, welche in keine der vorhergehenden Rubriken gehören. Loyalisten[61] bewilligte Ackerzahl. Gesammtzahl der bewilligten Aecker. 1824 11,100 5,800 5,500 134,500 30,200 187,800 1825 20,300 5,700 8,100 149,060 45,000 228,160 1826 16,600 3,100 4,700 19,390,500 24,800 69,590 1827 10,900 4,200 7,200 33,600,500 20,200 76,100 1828 10,800 900 3,000 4,304 30,800 49,804 1829 5,300 7,500 8,400 3,230 22,600 47,030 1830 6,400 12,500 12,600 9,336 27,400 68,236 1831 5,500 58,400 7,200 8,000 34,200 113,300 1832 19,300 97,800 7,600 6,100 62,600 193,400 1833 35,200 46,000 — — 9,100 135,600 225,900 Summa. 142,100 241,900 64,300 376,620 433,400 1,258,320 B e d i n g u n g: wirkliche Ansiedlung. I . V e r k ä u f e u n d B e w i l l i g u n g e n v o n K r o n - L ä n d e r e i e n . Folgende Tabellen, aus parlamentarischen Urkunden entlehnt, zeigen: 1) Die Menge der in Ober- und Unter-Canada seit 1828 bis 1833 (einschließlich) v e r k a u f t e n Kronländer, nebst dem Durchschnitts-Preis für den Acker. 2) Stadt und Park-Parzellen, die während der nämlichen Periode in Ober-Canada verkauft worden sind. 3) Die Menge von Kronländereien, die seit 1824 bis 1833, (einschließlich) ohne Kauf bewilligt worden sind, nebst den Bedingungen, unter welchen diese Bewilligungen erfolgt sind. 4) Betrag der für die Geistlichkeit vorbehaltnen Ländereien, welche in jedem Jahre nach Beginn der Verkäufe unter Act 7 und 8 Geo. IV. c. 62. veräußert
  • 52.
    worden sind. Die imJahr 1824, der Zeit, von welcher an die Zahlungen ihren Anfang nehmen, in Gültigkeit tretenden Bedingungen, wurden in der Versammlung vom 20. October, 1818 und vom 21. Februar 1820 auf gesetzlichem Wege festgestellt und auf alle Klassen von Privilegirten ausgedehnt. Die Bedingungen waren folgende: — Jeder Belehnte soll von je hundert bewilligten Ackern, fünf Acker völlig lichten und einfriedigen; auf dem gelichteten Boden ein Haus 16 Fuß tief und zwanzig Fuß breit bauen; und die eine Hälfte der Straße (auf der Seite seines Besitzthums, und so weit als dieses reicht) lichten, desgleichen einen Weg von seinem Hause nach der Straße führen. Diese Straßen-Pflichten sollen als ein Theil d e r f ü n f A c k e r v o n h u n d e r t (s. oben) betrachtet werden. Das Ganze muß binnen zwei Jahren, vom Tage der Belehnung an gerechnet, vollendet, und nach dargethaner Erfüllung der verzeichneten Bedingungen ein Patent ausgefertigt werden. »Am 14. Mai 1830 wurde bei Schenkungen an verabschiedete Soldaten hierzu noch eine Bedingung gefügt, welche den wirklichen persönlichen Aufenthalt des Betheiligten auf der ihm bewilligten Stelle erforderlich macht, bevor er sein Patent ausgefertigt erhalten kann. »Am 14. November, 1830 wurden die damals hinsichtlich der Ansiedler Pflichten bestehenden Verordnungen in voller Versammlung aufgehoben, und dagegen der Befehl erlassen, daß jeder Belehnte die Straßen-Hälfte vor seiner Parcelle lichten und auf einer Strecke von zehn Fuß, in der Mitte der Straße, die Baumstummel so tief wegschneiden soll, daß Wagenräder darüber wegpassiren können. Der Nachweiß sowohl dieser Pflichterfüllung als eines zweijährigen Aufenthaltes auf dem bewilligten Grundstück berechtigt zu einem Patent. »Blos verabschiedeten Soldaten und Seeleuten, unter diesem Gesetz, ist es zur unerläßlichen Pflicht gemacht, drei Jahr vor Ausfertigung des Patentes ihr respectives Grundstück zu bewohnen und zu verbessern. »Am 24. Mai 1832 erließ die Versammlung einen Befehl, welcher in allen Fällen, außer in dem, welcher verabschiedete Soldaten und Seeleute betrifft, die bestehenden Anordnungen außer Kraft erklärte; und bestimmte, daß wofern nachgewiesen würde, daß sich ein Ansiedler auf einer Parcelle thätig niedergelassen, ein Patent ohne weiteres ausgefertigt werden solle. Nachfolgender Auszug ist aus einem officiellen, von Mr. B u c h a n a n und andern von der Regierung verpflichteten Emigrations-Agenten in Canada in Umlauf gebrachten Bericht entlehnt: — »Emigranten, welche in den beiden Canadas fruchtbaren Boden in wildem Zustand käuflich von der Krone zu erlangen wünschen, dürfen auf jede nur
  • 53.
    mögliche Erleichterung undjeden Vorschub von Seiten der öffentlichen Autoritäten zählen. Beträchtliche Boden-Strecken werden in Ober-Canada monatlich vermessen und zum Verkauf ausgeboten, desgleichen häufig auch aller zehn oder vierzehn Tage, von den für die Kron-Ländereien installirten Commissionairs, und zwar zu festgesetzten Preisen, die, je nach Lage und andern Umständen, sich bald auf zehn, bald auf funfzehn Schillinge per Acker belaufen, ausgenommen in den Gemeinde-Bezirken Sunnidale und Nottawasaga, wo der für Kron-Ländereien festgestellte Preis blos fünf Schillinge beträgt. In Unter-Canada bietet der Commissair für Kron-Ländereien zu Quebec zu bestimmten Perioden, in verschiednen Gemeinde-Bezirken, den Acker zu 2 Schil. 6 D. bis 12 Schil. 6 D. (Halifax-Courant), unter der Bedingung terminlicher Zahlungen, zum Verkauf aus. Auch von der Ober-Canada-Compagnie kann man unter sehr annehmlichen Bedingungen wilden Boden kaufen; und solche, welche sich nach dem Besitz einträglicher Pachte sehnen, können dergleichen ohne große Schwierigkeiten von Privat-Grundeigenthümern erlangen. Man gehe in keinem Fall ohne p e r s ö n l i c h e U n t e r s u c h u n g einen Kauf oder Pacht ein und sehe dabei ins besondre auf nachstehende Eigenschaften: — 1) E i n e g e s u n d e L a g e . 2) G u t e n B o d e n . 3) R e i n e s Q u e l l - o d e r f l i e ß e n d e s W a s s e r. 4) E i n e g u t e m o r a l i s c h e u n d r e l i g i ö s e N a c h b a r s c h a f t , u n d d i e N ä h e v o n S c h u l e n z u r E r z i e h u n g d e r K i n d e r. 5) A u f d i e m ö g l i c h s t e N ä h e v o n g u t e n F a h r s t r a ß e n u n d W a s s e r -Tr a n s p o r t , s o w i e v o n S ä g e u n d G r ü t z m ü h l e n . 6) E i n e n g u t e n T i t e l . Für die Geistlichkeit vorbehaltne, in jedem Jahr seit Eröffnung der Verkäufe unter den Gesetzen 7 und 8 Geo. IV. c. 62 verkaufte Ländereien, nach Ackern. U n t e r - C a n a d a . Jahr. Anzahl der verkauften Acker. Durchschnitts-Preis für den Acker. Betrag des im ersten Jahr eingegangenen Kaufgeldes. Gesammtbetrag der Kaufsumme. Shl. D. Pfd.St. S. D. Pfd.St. S. D. 1829 1,100 4 6 10 0 0 230 0 0
  • 54.
    1830 9,956 493/4 543 17 0 1,610 3 0 1831 11,332 7 21/2 541 7 6 2,665 9 3[62] 1832 6,878 5 8 533 2 2 1,278 11 8 1833 37,278 8 21/4 3,454 11 6 12,791 17 5 ————— Summa 66,539 18,576 1 4 Drei Jahr sind die Frist, binnen welcher die ganze Kaufsumme bezahlt werden muß. O b e r - C a n a d a . Jahr. Anzahl der verkauften Acker. Durchschnitts-Preis für den Acker. Betrag des im ersten Jahr eingegangenen Kaufgeldes. Gesammtbetrag der Kaufsumme. Shl. D. Pfd.St. S. D. Pfd.St. S. D. 1829 18,014 14 81/4 2,464 14 0 13,229 0 0 1830 34,705 13 6 6,153 5 9 23,452 4 0 1831 25,563 12 13/4 8,010 2 11 17,362 12 1 1832 48,484 13 32/4 10,239 9 7 32,287 19 8 1833 62,282 14 41/2 14,080 16 8 44,747 9 9 ————— ————— Summa 192,049 131,079 14 10 Das ganze Kaufgeld muß nach Ablauf von neun Jahren bezahlt sein. Außer der Kaufsumme sind bei jedem Termin auch die Interessen bezahlt worden; wie sich aus nachstehender Uebersicht ergiebt. Eingelaufne Interessen im Jahr 1829 Pfd. St. 1 7 3 Courant.
  • 55.
    — — —— 1830 — — 62 16 1 — — — — — 1831 — — 259 14 9 — — — — — 1832 — — 473 17 2 — — — — — 1833 — — 854 4 3 — I I . N a c h r i c h t e n f ü r E m i g r a n t e n . Im Jahr 1832 erließ der für Auswanderung von Sr. Majestät ernannte öffentliche Ausschuß eine kleine Schrift[63], die in gedrängter Kürze einige nützliche Belehrung enthält. Der Ausschuß besteht nicht mehr. An seine Stelle ist von der Regierung J . D e n h a m P i n n o c k, Esq. als seiner Majestät Agent zur Beförderung der Auswanderung von England nach den brittischen Colonien ernannt. An diesen Herrn hat man sich in Auswanderungs-Angelegenheiten beim Colonial-Bureau brieflich, unter der Adresse: An den Colonial- Staatssecretair, zu wenden. Ein Hauptgegenstand seines Postens ist, den Behörden der Kirchsprengel und Landeigenthümern, welche das Auswandern von Arbeitern, Häuslern und dergl. aus ihren respectiven Distrikten zu befördern wünschen, die genügende Auskunft zu ertheilen und die möglichsten Erleichterungen zu verschaffen, und zwar besonders mit Rücksichtsnahme auf die Emigrations-Clausel der Armen-Gesetz-Amendements-Acte. Nachverzeichnete Agenten sind in den namhaft gemachten Häfen von der Regierung ebenfalls mit Förderung der Auswandrer-Angelegenheiten beauftragt. Liverpool — — Lieut. L o w, R. N. Bristol — — Lieut. H e n r y, R. N. Leith — — Lieut. F o r r e s t, R. N. Greenock — — Lieut. H e m m a n s, R. N. Dublin — — Lieut. H o d d e r, R. N. Cork — — Lieut. F r i e n d, R. N. Limerick — — Lieut. Ly n c h, R. N.
  • 56.
    Belfast — —Lieut. M i l l a r, R. N. Sligo — — Lieut. S h u t t l e w o r t h, R. N. Zu Quebec, ist Herr A. C. B u c h a n a n, Esq., Hauptagent der Regierung in Auswanderungs-Angelegenheiten, stets bereit, jedem Emigranten, der um seinen Rath nachsucht, die genügende Auskunft zu ertheilen. Nachstehendes ist ein Auszug aus der im Jahr 1832 veröffentlichten kleinen Schrift: — »Ueberfahrten nach Quebec oder Neu-Braunschweig können entweder mit oder ohne Mundvorräthe ausbedungen werden, in letzterem Fall erhält der Passagier nichts außer Wasser, Brennmaterial und Bettstelle, aber kein Gebett. Kinder unter 14 Jahren zahlen nur die Hälfte, und unter 7 Jahren nur das Drittel der vollen Summe; Kinder unter 12 Monaten werden unentgeldlich mitgenommen. Unter diesen Bedingungen beträgt das Passagiergeld von London, oder von Plätzen an der Ostküste Britanniens, mit Mundvorräthen, gewöhnlich 6 Pfund Sterl., und ohne Mundvorräthe, 3 Pfd. Sterl. Von Liverpool, Greenock und den Haupthäfen Irlands ist der Preis, in Folge seltner eintretender Verzögerungen etwas niedriger; in diesem Jahre (1832) wird er wahrscheinlich 2 Pfd. Sterl. bis 2 Pfd. Sterl. 10 Shl. (ohne Mundvorräthe), und mit diesen 4 Pfd. Sterl. bis 5 Pfd. Sterl. betragen. Möglicher Weise dürften im März und April von Dublin aus Ueberfahrten zu 1 Pfd. Sterl. 15 Shl. oder gar zu 1 Pfd. Sterl. 10 Shl. zu erlangen sein; aber mit dem Vorrücken der Jahreszeit werden die Preise stets höher. In Schiffen, die von Schottland oder Irland aussegeln ist es meist üblich gewesen, daß die Passagiere selbst für ihre Mundvorräthe sorgten; allein in London ist diese Verfahrungsweise nicht so allgemein; und einige Schiffseigenthümer, wohlbekannt mit den gefährlichen Mißgriffen, welche in dieser Angelegenheit aus Unkenntniß gethan werden können, stemmen sich sehr gegen die Aufnahme von Fremden, welche ihre Mundvorräthe nicht vom Schiffe beziehen wollen. Diejenigen, welche durchaus selbst dafür sorgen wollen, sollten darauf bedacht sein, nicht zu wenig mitzunehmen; funfzig Tage sind die kürzeste Periode, auf welche man sich mit Mundvorräthen versehen muß, und von London aus dauert dieselbe bisweilen fünfundsiebzig Tage. Die besten Monate, England zu verlassen, sind jedenfalls März und April; spätere Auswandrer finden selten Beschäftigung und haben in der Colonie vor Eintritt des Winters weniger Zeit vor sich.«
  • 57.
    Aus einem gedruckten,von Mr. B u c h a n a n zu Quebec abgefaßten Aufsatz entlehnen wir folgende Bemerkungen, (der Aufsatz datirt sich vom Juli 1835). »Nichts ist für den Emigranten bei seiner Ankunft in Quebec wichtiger, als genaue Erkundigung über die Hauptpunkte seines fernern Thun's. Manche haben Mangels an Behutsamkeit halber, und weil sie den Ansichten und Meinungen selbstsüchtige Nebenabsichten im Schilde führender Personen, die häufig unaufgefordert ihren Rath ertheilen, und die man gewöhnlich an den von Fremden besuchten Kaien und Landungsplätzen findet, Gehör schenkten, schwer büßen müssen. Um sich gegen dergleichen Fehlschritte zu sichern, sollte jeder Emigrant, gleich nach seiner Ankunft zu Quebec, sich an das Bureau des Haupt-Agenten für Auswandrer, in Sault-au-Matelot-Street (Unterstadt) wenden, wo er jede für seine ferneren Unternehmungen, es mag sich nun um Ansiedlung oder Anstellung in Ober- oder Unter-Canada handeln, erforderliche Nachweisung g r a t i s erhält. Auf dem Wege von Quebec nach dem Ort seiner Bestimmung werden dem Auswandrer manche Entwürfe und Pläne zur Erwägung vorgelegt, allein er mag sich ja davon abwenden, wofern sich nicht die Reinheit der Absicht und die Richtigkeit der Angaben nachweisen läßt: in jedem Fall nehme man, wenn man Rath und Belehrung bedarf, seine Zuflucht zu den Regierungs-Agenten, welche die genaueste Auskunft g r a t i s ertheilen. »Emigranten thun wohl, nach ihrer Ankunft achtundvierzig Stunden an Bord des Schiffs zu bleiben, auch können sie während dieser Zeit keiner ihrer gewöhnlichen Bequemlichkeiten, als da sind Schlafstellen, Koch-Apparate u. s. w. beraubt werden, und der Schiffsmeister ist gebunden, die Auswandrer und ihr Gepäck k o s t e n f r e i an den gewöhnlichen Landungsplätzen und zu entsprechenden Stunden auszuschiffen. V o r z ü g l i c h m ö g e n s i e s i c h h ü t e n , W a s s e r a u s d e m L a w r e n c e F l u ß z u t r i n k e n , d e n n s e i n G e n u ß e r z e u g t b e i F r e m d e n l e i c h t L e i b s c h n e i d e n u n d a n d r e U n t e r l e i b s b e s c h w e r d e n . »Will man sein englisches Geld umwechseln, so gehe man zu einem achtbaren Kaufmann oder Krämer, oder an die Banken: der Dollar Courant (Halifax Courant), in den beiden Canadas, ist gleich fünf Shilingen (engl. Geld); gegenwärtig gilt der Gold-Souverain zu Quebec und Montreal ungefähr 1 Pfd. Sterl. 4 S. 1 D. Courant. In New-York ist der Dollar gleich 8 Shl., daher sich manche täuschen, wenn sie von den Arbeitslöhnen u. s. w. hören. — 5 Shl. in Canada sind gleich 8 Shl. in New-York; demgemäß sind 8 Shl. New-Yorker Courant gleich 5 Shl. Halifax Courant. »Emigranten, die sich in Unter-Canada anzusiedeln oder Anstellung zu erhalten wünschen, können auf manche wünschenswerthe Lage zählen. Wilder Boden kann durch Kauf von dem mit dem Verkauf der Kronländer bevollmächtigten Commissair in verschiednen Gemeinde-Bezirken der Provinz erlangt werden,
  • 58.
    und die Brittisch-amerikanischeLand-Compagnie trifft die ausgedehntesten Vorbereitungen, um in den östlichen Gemeinde-Bezirken Ländereien an Emigranten zu verkaufen. »Ländliche Arbeiter sind in allen Distrikten von Ober-Canada sehr gesucht und können bei gehörigem Fleiß sehr hohe Löhne erhalten; Handwerker fast jeder Art, und gute Dienstboten, sowohl männliche als w e i b l i c h e, finden ebenfalls sogleich Anstellung. »Emigranten, welche entweder auf der Ottawa oder St. Lawrence Straße nach Ober-Canada reisen, thun wohl, sich zu Montreal mit Mundvorräthen, als da sind Brod, Thee und Butter zu versorgen, indem sie diese Artikel, daselbst billiger und b e s s e r kaufen können als unterwegs, bis sie Kingston erreichen. Desgleichen mögen sie sich so sehr als möglich vor dem Genuß s p i r i t u ö s e r F l ü s s i g k e i t e n u n d d e m Tr i n k e n k a l t e n F l u ß - W a s s e r s oder dem Lagern auf den Fluß-Ufern, der feuchten Nachtluft ausgesetzt, hüten; es ist gut, wenn sie sogleich vom Dampfbote zu Montreal ihren Weg nach dem E i n g a n g d e s C a n n a l s oder Lachine nehmen, von wo aus täglich die Dampf- und Durham-Böte nach Prescott und Bytown abgehen. Die ganzen Unkosten für den Transport eines erwachsenen Emigranten von Quebec nach Toronto, und dem Ursprung des Sees Ontario auf Dampf- und Durham-Böten betragen nicht über 1 Pfd. Sterl. 1 Shl. — Kingston, Belleville, die Bai von Quinte hinauf, Cobourgh und Port Hope, im Newcastle Distrikt, Hamilton und Niagara am Ursprunge des Sees Ontario, sind bequeme Rastplätze für Familien, welche sich in Ober-Canada ankaufen wollen. Unter den zur Förderung der Auswandrer zu Montreal gebildeten Gesellschaften herrscht große Eifersucht; daher der Emigrant wohl thut, etwas vorsichtig zu verfahren, ehe er hinsichtlich seines Transports nach Prescott oder Kingston abschließt, vorzüglich muß er diejenigen Personen vermeiden, die sich um die Dampfböte bei deren Ankunft zu Montreal drängen und ihre Dienste zur weiteren Beförderung der Passagiere u. s. w. anbieten. Eben so ist zu Prescott oder Kingston bei Auswahl eines regelmäßigen Transports, den See Ontario hinauf, einige Vorsicht nöthig. Vorzüglich rathe ich den Emigranten, welche sich in Ober-Canada niederlassen wollen, sich in Montreal nicht aufzuhalten und Geld für Logis wegzugeben, sondern gleich nach Ankunft des Dampfbootes nach Bytown oder Prescott aufzubrechen. Tagelöhner oder Handwerker, die hinsichtlich ihres Lebensunterhaltes von sofortiger Anstellung abhängen, dürfen nicht säumen, gleich nach ihrer Ankunft ihren Weg in das Innere zu nehmen. Der Haupt-Agent pflegt diejenigen, welche über v i e r Ta g e nach ihrem Eintreffen an den Landungs-Plätzen umherzaudern, als jedes Anspruchs auf den Schutz der königlichen Agenten zu
  • 59.
    seiner Beförderung oderAnstellung ledig zu erachten, es müßte denn Krankheit oder eine andre genügende Ursache dieses Zögern nöthig machen. V e r g l e i c h e n d e Ta b e l l e , d i e A n z a h l v o n A u s w a n d r e r n b e t r e f f e n d , w e l c h e s e i t 1 8 2 9 b i s 1 8 3 4 ( e i n s c h l i e ß l i c h ) z u Q u e b e c a n g e l a n g t s i n d . 1829 1830 1831 1832 1833 1834 England und Wales 3,565 6,79910,343 17,481 5,198 6,799 Irland 9,61418,30034,13328,20412,01319,206 Schottland 2,643 2,450 5,354 5,500 4,196 4,590 Hamburg und Gibraltar — — — 15 — — Neuschottland, Neufundland, West-Indien u. s. w. 123 451 424 546 345 339 Summa.15,94528,00050,25451,74621,75230,935 Die Gesammtzahl der zu Quebec seit 1829 bis 1834 angelangten Emigranten beläuft sich auf 198,632 Köpfe. Man wird bemerken, das die Anzahl in den Jahren 1831 und 1832 ihre Höhe erreicht hat, und dann (1833) wieder sehr tief gefallen ist. Vertheilung der 30,935, im Jahr 1834 zu Quebec angelangten Emigranten: — U n t e r - C a n a d a . Stadt und Distrikt Quebec 1,500 Distrikt Three Rivers (drei Flüsse) 350 Distrikt St. Francis und östliche Gemeinde-Bezirke 640 Stadt und Distrikt Montreal 1,200 Ottawa Distrikt 400 -------- 4,090
  • 60.
    O b er - C a n a d a . Ottawa, Bathurst, Midland und östliche Distrikte bis Kingston, einschließlich 1,000 Distrikt Newcastle, und Stadtbezirke in der Nachbarschaft der Bai von Quinte 2,650 Toronto und der Home Distrikt, welcher die Niederlassungen um den See Simco in sich schließt. 8,000 Hamilton, Guelph und Huronen-Gebiet nebst den angrenzenden Ländereien 2,600 Niagara Grenze und Distrikt, welche die Linie des Welland Canals und nur den Anfang des Sees Ontario bis Hamilton in sich begreift. 3,300 Niederlassungen, welche an den Erie-See grenzen und den London Distrikt, die Adelaide-Ansiedlung und das Land bis zum See St. Clair in sich begreifen 4,600 -------- Summa (für Ober-Canada) 22,210 An der Cholera in Ober- und Unter-Canada gestorben 800 Nach dem Vereinigten Königreich zurückgekehrt 350 Nach den Vereinigten Staaten gegangen 3,485 -------- 4,635 Von 30,935 Emigranten, welche im Jahr 1834 zu Quebec anlangten, waren: Freiwillige Emigranten 29,041 Von ihren Kirchsprengeln unterstützt 1,892 Männer 13,565 Weiber 9,685 Kinder unter vierzehn Jahren 7,681
  • 61.
    Emigranten, welche esvorziehen, über New-York nach Canada zu gehen, können sich bei dem brittischen Consul zu New-York (J a m e s B u c h a n a n, Esq.) Rath in ihren Angelegenheiten erholen. Vormals konnte dieser für Emigranten, welche fest entschlossen waren, sich in Canada niederzulassen, Erlaubniß auswirken, ihre Baggage und Effecten zollfrei zu landen; aber in einem Briefe vom 16 März 1835 sagt er: — »Zufolge einer Abänderung in dem wirklich lieberalen, bisher in diesem Hafen üblichen Verfahren, wonach es den hierselbst landenden Emigranten erlaubt war, ihr Gepäck, bestehend in Haus und Ackergeräth, ohne Umpacken oder Abgabe durch New-York nach seiner Majestät Provinzen zu transportiren, vorausgesetzt daß dieses Gepäck nichts außer den namhaft gemachten Artikeln enthielt, betrachte ich es für meine Pflicht, bekannt zu machen, daß gegenwärtig alle in diesem Hafen anlangenden Artikel von Emigranten, auf ihrem Durchwege nach Canada, der nämlichen Inspection unterworfen werden, als wenn dieselben in den Vereinigten Staaten zurückbleiben, und die nämlichen Zölle, wie diese, zu entrichten haben. Ich will bei dieser Gelegenheit noch bemerken, daß alle Artikel, deren ein neuer Ansiedler bedarf, in Canada zu billigern Preisen zu haben sind, als sie vom Vaterlande hierher transportirt werden können, wozu noch kommt, daß sie der neuen Heimath angemessen sind.« Der Unterschied zwischen den beiden Routen, wovon die eine über Quebec, die andre über New-York nach Ober-Canada führt, besteht hauptsächlich darin, daß der Hafen von New-York das ganze Jahr hindurch offen ist, während die Fahrt auf dem St. Lawrence nach Quebec und Montreal langweilig, und der Fluß blos acht Monate im Jahre offen ist. Indeß ist letztre die billigere Route. Wer es aber nur einigermaßen daran wenden kann, zieht den Weg über New-York vor, weil er nicht nur der bequemste sondern auch der fördersamste nach Ober-Canada ist. Die Reise-Route führt nach einer gedruckten, von dem brittischen Consul zu New-York herausgegebnen Bestimmung und Albanien von New-York durch den Erie-Canal nach allen Theilen von Ober-Canada, westlich von Kingston über Oswego und Buffalo: — Von New-York nach Albanien 160 (engl.) Meilen mittels Canalfahrt, auf Dampfbooten oder Postwagen. Von Albanien nach Utica 110 Von Utica nach Syrakus 55 Von Syrakus nach Rochester 99 Von Rochester nach Buffalo 93
  • 62.
    Gesammt-Unkosten von Albaniennach Buffalo, auf dem Canal, mit Ausschluß von Lebensmitteln, für einen erwachsnen Passagier (die Fahrt dauert gewöhnlich sieben oder acht Tage) 3 Dollars, 63 Cents mittels Packet-Böten; mit Einschluß von Lebensmitteln, bei einer Fahrt von sechs Tagen 12-1/4 Dollars. »Ditto mittels der Postkutsche, binnen 3-1/2 und vier Tagen — 13 bis 15 Dollars. »Ditto von Albanien nach Oswego auf Canälen, bei einer Fahrt von 5 Tagen — 2-1/2 Dollars. »Ditto mittels der Postkutsche, (zweitägige Fahrt) — 6-1/2 bis 7 Dollars. »Eine mäßige Menge Gepäck wird unentgeldlich mitgenommen. Reise-Route von New-York nach Montreal, Quebec und allen Theilen von Unter- Canada: — »Von New-York nach Albanien, 160 (engl.) Meilen mittels Dampfboot, 1 bis 3 Dollars, mit Ausschluß Von Lebensmitteln. »Von Albanien nach Whitehall, auf Canälen, 73 engl. Meilen, 1 Dollar; auf dem Postwagen 3 Dollars. »Von Whitehall nach St. John's, mittels Dampfboot, der Lebensunterhalt eingerechnet, in der Cajüte 5 Dollars; Deck-Passage, ohne Lebensunterhalt 2 Dollars. »Von St. John's nach Laprairie, 16 engl. Meilen, mittels Postwagen, 5 bis 7 Schl. 6 D. »Von Laprairie nach Montreal, auf dem Fähr-Dampfboote, (8 engl. Meilen) 6 D. »Von Montreal nach Quebec mittels Dampfboot, 180 (engl.) Meilen, in der Cajüte (mit Kost) 1 Pfd. St. 5 Schl. Deck-Passage, ohne Kost 7 Schl. 6 D. »Diejenigen, welche nach den östlichen Gemeinde-Bezirken von Unter-Canada, in der Nachbarschaft von Sherbrooke, Standstead u. s. w. wandern wollen, müssen ihren Weg nach St. John's nehmen, von woaus gute Straßen nach sämtlichen östlichen Ansiedlungen führen; nehmen sie ihren Weg nach dem Fluß Ottawa, so müssen sie von Montreal und Lachine ausgehen, indem von hier aus Postwagen, Dampfböte und andre kleine Fahrzeuge (Kähne) nach Granville, Hull und Bytown, so wie auch nach Chateauguay, Glengary, Cornwall, Prescott und sämmtlichen Theilen unterhalb Kingston segeln. »Die Emigranten können sich des Rathes und Beistandes folgender Herren bedienen: — zu Montreal C a r l i s l e B u c h a n a n ' s Esq.; zu Prescott, J o h n P a t t o n ' s Esq.«
  • 63.
    Emigranten-Zahl, welche imVerlauf von sechs Jahren, nämlich seit 1829 bis 1834 von dem Vereinigten Königreich zu New-York angelangt ist. Jahr. England. Irland. Schottland. Gesammtzahl 1829 8,110 2,443 948 11,501 1830 16,350 3,497 1,584 21,433 1831 13,808 6,721 2,078 22,607 1832 18,947 6,050 3,286 28,283 1833 — — — — — — 16,000 1834[64] — — — — — — 26,540 Gesammtzahl. 126,464 I I I . A m e r i k a n i s c h e P a s s a g i e r - A c t e . Der 9. Geo. IV. c. 21, gemeiniglich die amerikanische Passagier-Acte genannt, wurde während der Session 1835 widerrufen, und an ihrer Stelle eine neue Verordnung (5 und 6 Will. IV., c. 53.) erlassen. Diese neue Acte hat zum Zweck, so sehr als möglich und wirksamer als die frühere, die Gesundheit und das Gedeihen der Auswandrer an Bord von Passagier-Schiffen zu sichern. Zufolge einer Clausel müssen Copien oder Auszüge auf dergleichen Schiffen zur Einsicht der Passagiere unterhalten werden, damit diese hierdurch Gelegenheit haben, sich von der Erfüllung des Gesetzes zu überzeugen; allein die Entdeckung irgend einer Verletzung der gesetzlichen Verordnungen dürfte zu einer Zeit gemacht werden, wo es in dem besondern, gerade vorliegenden Falle, zu spät ist, insofern es sich um die Bequemlichkeit oder gar um die Gesundheit der Passagiere handelt, Abhülfe zu leisten. Es steht daher zu hoffen, daß die menschenfreundlichen Absichten der Gesetzgebung durch keine Nachlässigkeit von Seiten derjenigen (vorzüglich der Zoll-Beamten) vereitelt werden, welchen die Pflicht obliegt, dafür zu sorgen, daß den Bestimmungen der Acte genügt werde, ehe das Passagier-Schiff den Hafen verläßt. Kein Passagier-Schiff darf mehr als drei Personen auf jede fünf Tonnen einregistrirte Last am Bord enthalten. Desgleichen dürfen sich, was auch immer der Tonnengehalt sein mag, nicht mehr Passagiere an Bord befinden, als die gesetzliche Bestimmung des Raums gestattet, nach welcher auf je zehn Fuß Flächengehalt des untern Decks, die nicht von Gütern oder Vorräthen, außer dem Gepäck der Reisenden, eingenommen sind, eine Person gerechnet wird. Schiffe mit mehr als einem Deck müssen mindestens fünf und einen halben Fuß Zwischendeckraum haben; und hat ein Schiff blos ein Deck, so muß unter das
  • 64.
    Deck eine Plattformdergestalt gelegt werden, daß dazwischen ein Raum von wenigstens fünf und einem halben Fuß Höhe übrig bleibt; auch darf ein solches Schiff nicht mehr als zwei Reihen Schlafstellen haben. Schiffe mit einer doppelten Reihe Schlafstellen müssen einen Zwischenraum von mindestens sechs Zoll zwischen dem Deck oder der Plattform und dem Boden der untern Reihe in ihrer ganzen Ausdehnung haben. Passagier-Schiffe müssen folgende Vorräthe und in folgendem Verhältniß führen: — Reines Wasser, für jeden Passagier gegen fünf Gallonen auf jede Woche der Reise. Das Wasser muß in Tanks oder verkohlten (Frischwasser-) Fässern aufbewahrt werden. Sieben Pfund Brod, Schiffszwieback, Hafermehl oder andre Brodstoffe, auf jede Woche für jeden Passagier; Kartoffeln können bis zu einem Drittel des gesammten Mundvorrathes hinzugefügt, aber sieben Pfund Kartoffeln müssen einem Pfund Brod oder Brodmehl gleich gerechnet werden. Die Dauer der Reise nach Nord-Amerika wird auf zehn Wochen geschätzt, demgemäß müssen für jeden Passagier funfzig Gallonen Wasser und siebzig Pfund Brod oder Brodmehl mitgenommen werden. Beläuft sich die Anzahl der Passagiere auf hundert Köpfe, so muß der Schiffseigner für einen praktischen Arzt sorgen; wenn darunter, so müssen Arzneimittel in hinreichender Menge und von den erforderlichen Arten, als ein Theil der nothwendigen Vorräthe, mitgenommen werden. Passagier-Schiffen ist nicht erlaubt, an spirituösen Getränken, als Waare, über ein Zehntel von derjenigen Quantität auszuführen, welche, ohne diese Beschränkung, die Zollbeamten, den Proviantlisten eines solchen Schiffs gemäß, blos für den Gebrauch der Passagiere (und je nach deren Anzahl,) mitzunehmen verstatten würden. Gewiß eine wichtige Maßregel, welche buchstäblich befolgt werden sollte. Die starke Versuchung, wovon die an einen engen Raum gefesselten Passagiere in Folge der Langenweile, welche eine dergleichen Seereise erzeugt, ergriffen werden, hat häufig den Vermögensumständen, der Behaglichkeit und Gesundheit manches Emigranten bedeutenden Nachtheil gebracht, besonders wenn der Schiffsmeister für einen tüchtigen Branntwein- Vorrath gesorgt hatte. Bei Aufzählung der Passagiere werden z w e i Kinder über sieben aber unter vierzehn, oder d r e i unter sieben Jahren für einen Passagier gerechnet. Kinder unter z w ö l f M o n a t e n werden nicht mit gezählt. Jeder Passagier ist berechtigt, achtundvierzig Stunden hindurch, nachdem das Schiff an dem Orte seiner Bestimmung angelangt ist, an Bord zu bleiben, und
  • 65.
    muß für dieseZeit mit den erforderlichen Mundvorräthen versorgt werden. Emigranten mit beschränkten Mitteln können auf diese Weise viele Unannehmlichkeiten und Kosten vermeiden, indem sie sich über die Marschroute, welche sie zu nehmen gedenken, berathen, anstatt zu landen und in den theuern Wirthshäusern und Restaurationen eines See-Hafens Zeit und Geld zu verschwenden. Schiffsmeister müssen Cautionen von 1,000 Pfd. St. zahlen, als Garantie für die treue Erfüllung der ihnen durch die Acte auferlegten Pflichten. Die wegen einer Uebertretung des Gesetzes zu zahlende Strafe beläuft sich nicht unter f ü n f, und nicht über z w a n z i g Pfd. Sterl. Die von der Regierung in den verschiednen Häfen angestellten Agenten, oder die Zoll-Beamten werden ohne Zweifel Passagieren, welche um ihren Rath hinsichtlich einer Verletzung der Bestimmungen der Acte nachsuchen, jeden Verschub leisten, und die zu ergreifenden Maßregeln anzeigen. Herrscht hinsichtlich der Tüchtigkeit eines zum Absegeln bereiten Schiffes irgend ein Zweifel, so sind die Zoll-Einnehmer und Zoll-Controlleurs ermächtigt, dasselbe besichtigen zu lassen. Passagiere, welche über die Zeit hinaus, wo das Schiff der Verabredung gemäß auslaufen sollte, aufgehalten werden, muß der Schiffsmeister auf seine Unkosten unterhalten; sorgen sie selbst für ihre Mundvorräthe, so ist er gehalten, jedem für einen Tag Aufschub, den nicht Unwetter oder eine andre unvermeidliche Ursache erheischt, einen Schilling zu zahlen. I V. U e b e r t r a g u n g v o n C a p i t a l i e n . Es ist, wie sich von selbst versteht, für Emigranten von großer Wichtigkeit, was sie irgend an Capital über die erforderlichen Unkosten der Reise u. s. w. besitzen, auf dem sichersten und vortheilhaftesten Wege nach Canada zu senden, sowohl die Brittisch-Amerikanische Land-Compagnie als die Canada- Compagnie sind hierin den Emigranten behülflich, indem sie Pfänder und Credit- Briefe auf ihre Agenten in Canada annehmen. Es ist unsicher und unklug eine größere Summe bares Geld bei sich zu führen, als gerade zur Bestreitung der nothwendigen Reisekosten hinreicht, indem man eine doppelte Gefahr läuft, nämlich sein Geld zu verlieren, oder es zu vergeuden. Emigranten, die sich in ihren Geldangelegenheiten nicht an eine der beiden zuvor erwähnten Compagnien wenden wollen, würden daher wohl thun, sich von einem achtbaren Hause in dem Vereinigten Königreiche einen Credit-Brief auf die Bank zu Montreal ausstellen zu lassen.
  • 66.
    V. C an a d i s c h e s C o u r a n t . In sämmtlichen Brittisch-Nord-Amerikanischen Colonien werden Rechnungen und Preise, eben so wie in England, in Pfunden, Schillingen und Pence ausgedrückt. Man unterscheidet übrigens zwischen Courant oder Halifax Courant, und Sterling oder Brittisch Sterling. Ein Pfund Halifax-Courant oder Courant, wie es schlecht weg genannt wird, besteht aus vier spanischen Dollars. Der Dollar zerfällt in fünf Theile — im Spanischen Pistoreens genannt, wovon jeder ein Schilling genannt wird. Jeder dieser Schillinge oder Pistoreens ist wiederum in zwölf Theile, Pence genannt, getheilt, aber uneigentlich, da es keine Münze giebt, die einer solchen Unterabtheilung entspräche. Um dem Bedürfniß abzuhelfen, sind eine große Anzahl Kupfermünzen im Umlauf, wozu der alte englische Halfpenny, der Halfpenny neuern Gepräges, der Penny, der Farthing und der amerikanische Cent gehören; alle und jede gelten als der vierundzwanzigste Theil des Pistoreen oder Colonial-Schillings. Pence sind in der That nicht bekannt, wiewohl fast jede Art von Kupfermünze als der vierundzwanzigste Theil des Pistoreen genommen wird[65]. Zu einer Zeit, als der spanische Dollar, das Achtelstück, wie es damals hieß, feiner und schwerer als die jetzt im Umlauf befindliche Münze war, betrug sein Werth nach dem Münz-Silber-Preise 4 Schl. 6 D. Sterling, und 90 Pfd. Sterl. waren gleich 100 Pfd. Courant. V I . D i e C a n a d a C o m p a g n i e . Die Canada-Compagnie wurde im Jahr 1826 durch einen königlichen Freibrief und eine Parlaments-Acte confirmirt. Nachstehendes sind Auszüge aus dem Prospect der Compagnie: — »Die Canada-Compagnie hat in fast jedem Theil von Ober-Canada Ländereien zum Verkauf bereit, unter Bedingungen, welche jedenfalls höchst vortheilhaft für den Emigranten sind, da er beim Abschluß des Kaufs blos ein Fünftel vom Kaufgelde an die Compagnie baar zu entrichten braucht, und das Uebrige in fünf einjährigen, auf einander folgenden Terminen, (also in einem Zeitraum von fünf Jahren) nebst Interessen entrichten kann, so daß er bei gehöriger Betriebsamkeit den Saldo von den Erzeugnissen des Bodens abzutragen vermag. »Ländereien der Canada-Compagnie sind von dreierlei Art, nämlich: — Hier und da ausgestreute Reserve-Ländereien.
  • 67.
    Länder-Striche (Blocks ortracts of land) jeder von 1,000 bis 40,000 Aecker. Der Huronen-Tract, welcher über 1,000,000 Aecker enthält. »Z e r s t r e u t l i e g e n d e R e s e r v e - L ä n d e r e i e n . Die zerstreuten Kron- Ländereien sind Parcellen von hundert bis zweihundert Acker eine jede, durch fast jeden Gemeinde-Bezirk in der Provinz vertheilt, und an der Boden-, Klima- Beschaffenheit u. s. w. jedes besondern Gemeinde-Bezirks Theil habend. Dergleichen Ländereien sind vorzüglich denjenigen zu empfehlen, welche Freunde und Verwandte in ihrer Nachbarschaft angesiedelt zu sehen wünschen, und kann der Acker zu 8 Schl. 9 D. bis zu 25 Schl. gekauft werden. »L ä n d e r - B l ö c k e o d e r Tr a k t e (Blocks of Land). Die Blöcke oder Trakte liegen ganz in dem Theil der Provinz, der sich westwärts vom Ursprunge des Sees Ontario hindehnt, und enthalten Fluren, die, was Boden, Klima, Ergiebigkeit u. s. w. anlangt, jedem andern Theil des Festlandes von Amerika gleichen, wo nicht überlegen sind. Diese verdienen mithin die Aufmerksamkeit von Emigranten-Gemeinden, die als Landsleute, oder durch Verwandtschaft, Freundschaft, Religion oder andre Banden mit einander verknüpft, sich zusammen niederzulassen wünschen. Der größte Block dieser Art im Besitz der Compagnie ist der Stadt-Bezirk Guelph, der über 40,000 Acker enthält, wovon die größere Hälfte bereits verkauft ist; und hier hat sich im Verlauf nur weniger Jahre eine Stadt erhoben, welche Kirchen, Schulen, Magazine, Wirthshäuser und Mühlen in sich begreift, und wo man Handwerker und Gewerbtreibende jeder Art und eine sehr achtbare Gesellschaft finden kann. »D a s H u r o n e n - G e b i e t . Dies ist ein Strich des besten Landes in Amerika, durch welches die Canada-Compagnie zwei Straßen, so gut als es nur ein neu urbar gemachtes Land zuläßt, über hundert englische Meilen weit gehauen hat. »Die Bevölkerung daselbst nimmt von Tag zu Tag zu. »Die Stadt Goderich, an der Mündung des Flusses Maitland, am Huronen-See, ist sehr blühend und enthält verschiedne treffliche Vorraths-Häuser und Kaufläden, worin der Emigrant die ihm nothwendigen Artikel zu billigen Preisen erhalten kann. Es ist daselbst eine gute Schule errichtet worden, die stark besucht wird; desgleichen eine englische Kirche, worin ein presbyterianischer Geistlicher Gottesdienst hält; und da die Kirchen in Ober-Canada gegenwärtig besonders durch freiwillige Beiträge ihrer respectiven Versammlungen unterhalten werden, so kann man sich von dem achtbaren Charakter der Bewohner dieser Ansiedlung und der Nachbarschaft eine Vorstellung machen. »Die Stadt und der Stadt-Bezirk Goderich enthalten ungefähr tausend Einwohner; und seit dem das von der Compagnie zur Bequemlichkeit ihrer
  • 68.
    Ansiedler erbaute Dampfbootseinen Lauf zwischen Goderich und Sandwich begonnen hat, ist eine bedeutende Zunahme in dem Verkehr und dem Gedeihen der Niederlassung wahrzunehmen. In diesem Distrikt sind vier gute Säge-Mühlen, drei Grütz-Mühlen, und in der Nachbarschaft einer jeden findet man gut gefüllte Vorraths-Häuser. Und da das ganze Gebiet vier Millionen Acker enthält, wovon die größere Hälfte dem Verkehr offen ist, so kann ein Emigrant oder eine Emigranten-Gesellschaft, wie groß sie auch sein mag, in Auswahl einer je für ihre Zwecke, wie verschiedenartig diese auch sein mögen, günstigen Lage auf keine Schwierigkeit stoßen. Der Preis dieser Ländereien beläuft sich von 11 Schl. 3 D. bis auf 15 Schl. Provinzial-Courant, oder auf 11 Schl. bis 13 Schl. 6. D. Sterl. per Acker.« Emigranten, welche sich mit der Compagnie zu besprechen wünschen, müssen sich an den Secretair, John Perry Esq., St. Helen'splace, Bishopsgate-Street, London, oder an die Agenten der Compagnie der Häfen wenden. V I I . B r i t t i s c h - a m e r i k a n i s c h e L a n d - C o m p a g n i e . Die brittisch-amerikanische Land-Compagnie berichtet in ihrem Prospect, daß sie von der brittischen Regierung ziemlich eine Million Acker in den Grafschaften Shefford, Stanstead und Sherbrooke, und zwar in den sogenannten östlichen Gemeinde-Bezirken von Unter-Canada gekauft habe. Diese Gemeinde-Bezirke begreifen einen Strich Landes in sich, der auf der Südseite des St. Lawrence, zwischen 45° und 46-1/2° nördlicher Breite und 71° und 73° westlicher Länge liegt. Dieser Tract, welcher zwischen fünf und sechs Millionen Acker enthält, ist in acht Grafschaften, und diese sind wiederum in ungefähr hundert Stadt- oder Gemeinde-Bezirke getheilt. Besagte Gemeinde-Bezirke erfreuen sich eines wichtigen Vortheils in ihrer geographischen Lage. Auf der einen Seite haben sie einen leichten Zugang von Montreal, Quebec und Three Rivers, den Schiffer- Hafen und großen Märkten der beiden Canadas; auf der andern von New-York den Hudson River hinauf und durch den See Champlain, so wie auch von Boston und andern Theilen der atlantischen Küste. Zufolge ihrer gedrängten und zusammenhängenden Lage können sie durchgängig sowohl auf leichten Verkehr und gegenseitige Unterstützung als auch auf allgemeine Theilnahme an allen örtlichen Verbesserungen zählen. »Die Bedingungen, unter welchen die Compagnie ihre Ländereien veräußert, sind, je nach Lage, Beschaffenheit und besondre Vortheile, welche die verschiednen Parcellen besitzen mögen, verschieden; im Allgemeinen indeß sind
  • 69.
    sie zu 4Schl. bis 6 Schl. Courant per Acker käuflich, und in allen Fällen muß ein Theil der Kaufsumme als Unterpfand angezahlt werden, und zwar bei den höher geschätzten Parcellen der fünfte, und bei den niedriger geschätzten der vierte Theil. »Der Saldo muß alsdann nach und nach in sechs auf einander folgenden einjährigen Terminen, nebst den in der Provinz gesetzmäßigen Zinsen, und zwar vom Tage des Kaufabschlusses an gerechnet, abgetragen werden; sollten indeß Käufer geneigt sein, die Zahlungen früher zu leisten, so dürfen sie sich die Zeit dazu nur wählen. »Der Preis für einen Bauplatz zu Port St. Francis im laufenden Jahre (1835) ist 12 Pfd. Sterl. 10 Schl., mit Anzahlung von 5 Pfd. Sterl. in baarem Gelde, und der Saldo ist nebst Interessen in Jahres-Frist abzutragen. »Anzahlungen für Grund und Boden, den der Emigrant bei seiner Ankunft im Lande wählen kann, nimmt die Compagnie in London an. »Nach der zwischen der königlichen Regierung und der Compagnie geschloßnen Uebereinkunft sind 50,000 Pfd. Sterl. von dem Kaufgelde, welches letztre bezahlt hat, von derselben auf öffentliche Werke und Verbesserungen, als z. B. Landstraßen, Brücken, Canäle, Schulhäuser, Märkte, Häuser, Kirchen und Prediger-Wohnungen zu verwenden. Dies ist eine höchst wichtige Bestimmung, die sich für den Ansiedler nothwendiger Weise in hohem Grade wohlthätig erweisen muß, insofern sie ihm die Verbesserung und das Gedeihen des Distrikts zusichert. Die Anlegung von Straßen und andern leichten Communicationen ist das größte Bedürfniß eines neuen Landes; und die Verwendung von Capital auf Werke dieser Art, welche die Kräfte und Mittel von Privatleuten übersteigen, ist der beste Weg, auf welchem eine erfolgreiche Niederlassung befördert und vollendet werden kann. »Die Verwendung der oben namhaft gemachten ansehnlichen Summe sichert zu gleicher Zeit dem redlichen und fleißigen Arbeiter, unmittelbar nach seiner Ankunft, Anstellung und Erwerb.« Das Verwaltungs-Bureau der Brittisch-amerikanischen Land-Compagnie ist zu London, (Barge-Yard, Bucklersbury); dieselbe hat auch Agenten an den verschiednen Hafen-Orten.
  • 70.
    Erläuterung der Charte. Dawir den englischen Stock beibehalten haben, so fügen wir für den Leser folgende Nachweisungen hinzu: —
  • 71.
    L. (lake) bedeutetS e e. Part, T h e i l. Bridge, B r ü c k e. Channel, C a n a l. R. (River), F l u ß. Erklärung der auf der Charte vorkommenden Zahlen. 1) Beabsichtigte Eisenbahn, 6 (engl.) Meilen. 2) In Vorschlag gebrachte Eisenbahn, 13 (engl.) Meilen. 3) 36 (engl.) Meilen Dampf-Schifffahrt bis Heel-Falls. 4) Abriß der Mündungen des Flusses Otanabee und eines Theils des Reis- Sees. 5) Abriß des kleinen Sees, eines Theils des Flusses Otanabee und der Stadt Peterborough. Fußnoten: [60] Diese Summe ist in dem Parlaments-Rechnungs-Abschluß angegeben, aber wahrscheinlich soll anstatt 9, 1 stehen. [61] V. E. (U. E.) Loyalisten bedeutet: vereinigte englische Loyalisten, das ist solche, die beim Ausbruch des amerikanischen Freiheits-Krieges aus den Vereinigten Staaten flohen. Die in obigen Rubriken verzeichneten Schenkungen gehen meistentheils die Kinder dieser Individuen an. [62] Bei Verkäufen auf Erbzins zu 5 pCt., kann das Capital (Kaufsumme) nach Belieben abgezahlt werden. N. B. Verkäufe auf Erbzins haben im Jahr 1832 aufgehört. [63] Information published by His Majesty's Commissioners for Emigration, respecting the Brittish Colonies in North America, Lond. C. Knight, 1832. [64] Die Angaben für 1834 reichen blos bis zum 20. November selbigen Jahres. [65] Die Amerikaner haben auch ihren 1. s. (Schilling), welcher dem achten Theil eines Dollars oder 12-1/2 Cent. gleich ist. Es ist nichts Ungewöhnliches, den Emigranten sich rühmen zu hören, daß er in New-York täglich 10 Schillinge verdienen könne. Er weiß nicht, daß ein Dollar, welcher acht dergleichen Schillingen gleich ist, in England nur 4 Schilling, 2 D. gilt, und daß mithin der amerikanische Schilling, im Vergleich mit dem englischen nur 6-1/4 D. gilt, und daß daher ein Arbeitslohn von 10 Schillingen, täglich in der That nicht mehr als zehn mal 6 und 1/4 D. oder 5 Schillinge 2 und 1/2 D. nach englischer Werthbestimmung beträgt. Indeß ist ein Tagelohn von 5 Schillingen 2 und 1/2 D. immer noch beträchtlich zu nennen, nur aber kann es der
  • 72.
    Arbeiter nicht häufigerlangen; und erhält er es, so ist es für übermäßige schwere Arbeit unter einer brennenden Sonne in Seehafen-Städten während der geschäftsreichen Schifffahrt-Zeit.
  • 73.
    Anmerkung. Seite 158. DieMoosbeere (Cranberry), wovon es, wie aus dem Text hervorgeht, in Canada zwei Spiel-Arten giebt, gehört der Gattung Vaccinium an; diese Beere oder Frucht ist, nach erlangter Reife, roth und von der Größe einer kleinen Kirsche oder Schlehe und sitzt an einem dünnen gebognen Stiel. (V. exycoccus). Die Pflanze heißt auch Moorbeere, weil sie auf Moorboden und an sumpfigen Stellen wächst. Eine verschiedne Art davon ist Vaccinium macrocarpon (großfrüchtige Moosbeere). L e i p z i g, gedruckt bei W. H a a c k.
  • 74.
    Inhalts-Verzeichniß. Seite. E r st e r B r i e f. Abfahrt von Greenock in der Brig L a u r e l. — Beschaffenheit der Kajüte. — Reise-Gefährte. — Mangel an Beschäftigung und Unterhaltung. — Des Capitains Goldfinke 9 Z w e i t e r B r i e f. Ankunft an der Küste von Neufundland. — Der Goldfinke singt kurz vor Entdeckung des Landes. — Der Meerbusen St. Lawrence. — Schwierige Fahrt auf dem Flusse. — Ein französischer Fischer wird als Lootse angestellt. — Die Insel Bic. — Grün-Eiland. — Anstellung eines regelmäßigen Lootsen. — Scenerei von Grün-Eiland. — Gros-Eiland. — Quarantaine-Gesetze. — Emigranten auf Gros-Eiland. — Ankunft vor Quebek. — Anblick der Stadt und ihrer Umgebungen 13 D r i t t e r B r i e f. Abfahrt von Quebek. — Wir werden von einem Dampfschiffe bugsirt. — Fruchtbarkeit des Landes. — Verschiedne Gegenstände, die sich uns beim Hinaufsteuern des Flusses darbieten. — Ankunft vor Montreal. — Die Stromschnellen (Rapids). 31 V i e r t e r B r i e f. Landung zu Montreal. — Erscheinung der Stadt. — Verheerungen der Cholera. — Wohlthätigkeits-Anstalten zu Montreal. — Katholische Cathedrale. — Unter- und 38
  • 75.
    Ober-Stadt, Gesellschaft undUnterhaltung im Hotel. — Die Verfasserin wird von der Cholera befallen. — Abreise von Montreal im Postwagen. — Einschiffung zu Lachine am Bord eines Dampf-Schiffes. — Abwechselndes Reisen in Dampfschiffen und Postwagen. — Erscheinung des Landes. — Manufacturen. — Oefen, in einiger Entfernung von den Hütten. — Zieh-Brunnen. — Ankunft zu Cornwall. — Bedienung im Gasthause. — Abreise von Cornwall, und Ankunft zu Prescott. — Ankunft zu Brookville. — Dasiger Stapelplatz. — Reise durch den See Ontario. — Ankunft zu Cobourg. F ü n f t e r B r i e f. Reise von Cobourg nach Amherst. — Schwierigkeiten denen man bei seiner ersten Ansiedlung in den Urwäldern zu begegnen hat. — Erscheinung des Landes. — Reis-See. — Indianische Lebensweise und Gebräuche. — Fahrt den Otanabee hinauf. — Log-Haus (Log-house) und seine Inhaber. — Passagier Boot. — Fußreise nach Peterborough. 62 S e c h s t e r B r i e f. Peterborough. — Sitten und Sprache der Amerikaner. — Schottischer Maschinenbauer. — Schilderung Peterboroughs und seiner Umgebungen. — Canadische Blumen. — Shanties. — Beschwerden und Strapazen, welche die ersten Ansiedler zu ertragen haben. — Verfahren bei Anlegung einer Meierei. 91 S i e b e n t e r B r i e f. Abreise von Peterborough. — Canadische Wälder. — Wagen und Gespann. — Ankunft bei einem Log-Hause an den Ufern des Sees. — Niederlassung und erste Beschäftigungen. 120 A c h t e r B r i e f.
  • 76.
    Unannehmlichkeiten, die miteiner noch neuen Ansiedelung verbunden sind. — Schwierigkeit, Nahrungsmittel und andre nöthige Artikel zu erlangen. — Schneesturm und Orkan. — Indianischer Sommer und Eintritt des Winters. — Verfahren bei Lichtung des Bodens. 137 N e u n t e r B r i e f. Verlust eines Ochsen-Gespanns. — Errichtung eines Log- Hauses. — Glaser- und Zimmermanns-Arbeit. — Beschreibung eines neuen Log-Hauses. — Spaziergang auf dem Eise. — Lage des Hauses. — See und umgebende Scenerei. 148 Z e h n t e r B r i e f. Abwechselung in Temperatur und Wetter. — Electrische Erscheinung. — Canadischer Winter. — Mangel an poetischen Anklängen in diesem Lande. — Zuckerbereitung. — Zeit zum Fischfang. — Art des Fischfangs. — Entenschießen. — Indianer-Familien. — Papousen und ihre Windeln- und Wickelbänder. — Indianische Manufacturen. — Frösche. 164 E l f t e r B r i e f. Welche Emigranten für Canada passen. — Eigenschaften, die man besitzen muß, um eines günstigen Erfolgs gewiß zu sein. — Capital-Anlage. — Welche Artikel man wo möglich mit sich bringen muß. — Eigenschaften und Beschäftigungen einer Ansiedler-Familie. — Mangel an Geduld und Energie bei einigen Frauen. — Besorgung der Milchwirthschaft. — Käse. — Indianisches Korn; seine Cultur. — Kartoffeln. — Arbeitslöhne. 190 Z w ö l f t e r B r i e f. Eine »Klafter-Biene.« — Verbrennung der geklafterten Haufen. — Wirthschafts-System. — Preis des Weizens im Vergleich zu dem Arbeitslohn. — Wahl des Bodens 208
  • 77.
    Welcome to OurBookstore - The Ultimate Destination for Book Lovers Are you passionate about books and eager to explore new worlds of knowledge? At our website, we offer a vast collection of books that cater to every interest and age group. From classic literature to specialized publications, self-help books, and children’s stories, we have it all! Each book is a gateway to new adventures, helping you expand your knowledge and nourish your soul Experience Convenient and Enjoyable Book Shopping Our website is more than just an online bookstore—it’s a bridge connecting readers to the timeless values of culture and wisdom. With a sleek and user-friendly interface and a smart search system, you can find your favorite books quickly and easily. Enjoy special promotions, fast home delivery, and a seamless shopping experience that saves you time and enhances your love for reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookgate.com