1SOAP::WSDL::Factory::TrUasnesrpoCrotn(t3r)ibuted Perl DoScOuAmPe:n:tWaStDiLo:n:Factory::Transport(3)
2
3
4

NAME

6       SOAP::WSDL::Factory::Transport - Factory for retrieving transport
7       objects
8

SYNOPSIS

10        # from SOAP::WSDL::Client:
11        $transport = SOAP::WSDL::Factory::Transport->get_transport( $url, @opt );
12
13        # in transport class:
14        package MyWickedTransport;
15        use SOAP::WSDL::Factory::Transport;
16
17        # register class as transport module for httpr and https
18        # (httpr is "reliable http", a protocol developed by IBM).
19        SOAP::WSDL::Factory::Transport->register( 'httpr' , __PACKAGE__ );
20        SOAP::WSDL::Factory::Transport->register( 'https' , __PACKAGE__ );
21

DESCRIPTION

23       SOAP::WSDL::Transport serves as factory for retrieving transport
24       objects for SOAP::WSDL.
25
26       The actual work is done by specific transport classes.
27
28       SOAP::WSDL::Transport tries to load one of the following classes:
29
30       •   the class registered for the scheme via register()
31
32       •   the SOAP::Lite class matching the scheme
33
34       •   the SOAP::WSDL class matching the scheme
35

METHODS

37   register
38        SOAP::WSDL::Transport->register('https', 'MyWickedTransport');
39
40       Globally registers a class for use as transport class.
41
42   proxy
43        $trans->proxy('http://soap-wsdl.sourceforge.net');
44
45       Sets the proxy (endpoint).
46
47       Returns the transport for this protocol.
48
49   set_transport
50       Sets the current transport object.
51
52   get_transport
53       Gets the current transport object.
54

WRITING YOUR OWN TRANSPORT CLASS

56   Registering a transport class
57       Transport classes must be registered with
58       SOAP::WSDL::Factory::Transport.
59
60       This is done by executing the following code where $scheme is the URL
61       scheme the class should be used for, and $module is the class' module
62       name.
63
64        SOAP::WSDL::Factory::Transport->register( $scheme, $module);
65
66       To auto-register your transport class on loading, execute register() in
67       your tranport class (see SYNOPSIS above).
68
69       Multiple protocols or multiple classes are registered by multiple calls
70       to register().
71
72   Transport plugin package layout
73       You may only use transport classes whose name is either the module name
74       or the module name with '::Client' appended.
75
76   Methods to implement
77       Transport classes must implement the interface required for SOAP::Lite
78       transport classes (see SOAP::Lite::Transport for details,
79       SOAP::WSDL::Transport::HTTP for an example).
80
81       To provide this interface, transport modules must implement the
82       following methods:
83
84       •   new
85
86       •   send_receive
87
88           Dispatches a request and returns the content of the response.
89
90       •   code
91
92           Returns the status code of the last send_receive call (if any).
93
94       •   message
95
96           Returns the status message of the last send_receive call (if any).
97
98       •   status
99
100           Returns the status of the last send_receive call (if any).
101
102       •   is_success
103
104           Returns true after a send_receive was successful, false if it was
105           not.
106
107       SOAP::Lite requires transport modules to pack client and server classes
108       in one file, and to follow this naming scheme:
109
110        Module name:
111          "SOAP::Transport::" . uc($scheme)
112
113        Client class (additional package in module):
114          "SOAP::Transport::" . uc($scheme) . "::Client"
115
116        Server class (additional package in module):
117          "SOAP::Transport::" . uc($scheme) . "::Client"
118
119       SOAP::WSDL does not require you to follow these restrictions.
120
121       There is only one restriction in SOAP::WSDL:
122
123       You may only use transport classes whose name is either the module name
124       or the module name with '::Client' appended.
125
126       SOAP::WSDL will try to instantiate an object of your transport class
127       with '::Client' appended to allow using transport classes written for
128       SOAP::Lite.
129
130       This may lead to errors when a different module with the name of your
131       transport module suffixed with ::Client is also loaded.
132
134       Copyright 2004-2007 Martin Kutter. All rights reserved.
135
136       This file is part of SOAP-WSDL. You may distribute/modify it under the
137       same terms as perl itself
138

AUTHOR

140       Martin Kutter <martin.kutter fen-net.de>
141

REPOSITORY INFORMATION

143        $Rev: 851 $
144        $LastChangedBy: kutterma $
145        $Id: Transport.pm 851 2009-05-15 22:45:18Z kutterma $
146        $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
147
148
149
150perl v5.34.0                      2022-01-21 SOAP::WSDL::Factory::Transport(3)
Impressum