mozilla

Compare Revisions

SOAP in Gecko-based Browsers

Change Revisions

Revision 129074:

Revision 129074 by JML on

Revision 129075:

Revision 129075 by JML on

Title:
SOAP in Gecko-based Browsers
SOAP in Gecko-based Browsers
Slug:
SOAP_in_Gecko-based_Browsers
SOAP_in_Gecko-based_Browsers
Tags:
SOAP, "XML Web Services"
SOAP, "XML Web Services"
Content:

Revision 129074
Revision 129075
tt87    <p>
88      The example uses an existing web service, Babelfish, which 
 >is provided by xmethods.net. The Babelfish web service allows tra
 >nslating between several languages. It takes as an input two para
 >meter: a string in the format of "originalLanguage_resultLanguage
 >" and the text to translate as another string. The WSDL file for 
 >the Babelfish web service is available here and contains all the 
 >information needed to setup a low-level SOAP call to the web serv
 >ice.
89    </p>
90    <p>
91      The first step is to figure out the location of the web ser
 >vice, which will be the value of the SOAPCall's transportURI memb
 >er. This can be found in the WSDL's service element, specifically
 > the location attribute of soap:address.
92    </p>
93    <p>
94      Figure 4&nbsp;: Figuring out the location of a web service 
 >from its WSDL
95    </p>
96    <pre>
97&lt;b&gt;WSDL:&lt;/b&gt;
98&lt;service name="BabelFishService"&gt;
99  &lt;documentation&gt;
100    Translates text of up to 5k in length, between a variety of l
 >anguages.
101  &lt;/documentation&gt;
102  &lt;port name="BabelFishPort" binding="tns:BabelFishBinding"&gt
 >;
103    &lt;soap:address location="http://services.xmethods.net:80/pe
 >rl/soaplite.cgi"/&gt;
104  &lt;/port&gt;
105&lt;service&gt;
106 
107&lt;b&gt;JavaScript:&lt;/b&gt;
108var babelFishCall = new SOAPCall();
109babelFishCall.transportURI = "http://services.xmethods.net:80/per
 >l/soaplite.cgi";
110...
111</pre>
112    <p>
113      The next step is the most complex one - figuring out exactl
 >y what the web service expects to be sent in terms of parameters.
 > The Babelfish web service only has one method, "BabelFish", whic
 >h in the WSDL is represented in operation tags, which is a child 
 >of the portType element. Each WSDL operation has two children: th
 >e input and output elements, which contain the type expected. The
 > types are defined in message elements, of which there are two: B
 >abelFishRequest, which is what is going to be passed into the web
 > service, and BabelFishResponse, the return type. As can be seen,
 > the operation BabelFish expects two in parameters: translationmo
 >de and sourcedata. The example will translate from english to fre
 >nch the string "I am".
114    </p>

Back to History