# Language fr-FR translations for PACKAGE package.
# Automatically generated, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-04-04 01:24+0000\n"
"PO-Revision-Date: 2008-04-04 01:24+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Tag: title
#: Webservices.xml:2
#, no-c-format
msgid "Web Services"
msgstr ""

#. Tag: para
#: Webservices.xml:4
#, no-c-format
msgid ""
"Seam integrates with JBossWS to allow standard JEE web services to take full "
"advantage of Seam's contextual framework, including support for "
"conversational web services. This chapter walks through the steps required "
"to allow web services to run within a Seam environment."
msgstr ""

#. Tag: title
#: Webservices.xml:11
#, no-c-format
msgid "Configuration and Packaging"
msgstr ""

#. Tag: para
#: Webservices.xml:12
#, no-c-format
msgid ""
"To allow Seam to intercept web service requests so that the necessary Seam "
"contexts can be created for the request, a special SOAP handler must be "
"configured; <literal>org.jboss.seam.webservice.SOAPRequestHandler</literal> "
"is a <literal>SOAPHandler</literal> implementation that does the work of "
"managing Seam's lifecycle during the scope of a web service request."
msgstr ""

#. Tag: para
#: Webservices.xml:19
#, no-c-format
msgid ""
"A special configuration file, <literal>standard-jaxws-endpoint-config.xml</"
"literal> should be placed into the <literal>META-INF</literal> directory of "
"the <literal>jar</literal> file that contains the web service classes. This "
"file contains the following SOAP handler configuration:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:25
#, no-c-format
msgid ""
"<![CDATA[<jaxws-config xmlns=\"urn:jboss:jaxws-config:2.0\" \n"
"              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n"
"              xmlns:javaee=\"http://java.sun.com/xml/ns/javaee\"\n"
"              xsi:schemaLocation=\"urn:jboss:jaxws-config:2.0 jaxws-"
"config_2_0.xsd\">\n"
"   <endpoint-config>\n"
"      <config-name>Seam WebService Endpoint</config-name>\n"
"      <pre-handler-chains>\n"
"         <javaee:handler-chain>\n"
"            <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-"
"bindings>\n"
"            <javaee:handler>\n"
"               <javaee:handler-name>SOAP Request Handler</javaee:handler-"
"name>\n"
"               <javaee:handler-class>org.jboss.seam.webservice."
"SOAPRequestHandler</javaee:handler-class>\n"
"            </javaee:handler>\n"
"         </javaee:handler-chain>\n"
"      </pre-handler-chains>\n"
"   </endpoint-config>\n"
"</jaxws-config>]]>"
msgstr ""

#. Tag: title
#: Webservices.xml:30
#, no-c-format
msgid "Conversational Web Services"
msgstr ""

#. Tag: para
#: Webservices.xml:31
#, no-c-format
msgid ""
"So how are conversations propagated between web service requests? Seam uses "
"a SOAP header element present in both the SOAP request and response messages "
"to carry the conversation ID from the consumer to the service, and back "
"again. Here's an example of a web service request that contains a "
"conversation ID:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:37
#, no-c-format
msgid ""
"<![CDATA[<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/"
"envelope/\" \n"
"    xmlns:seam=\"http://seambay.example.seam.jboss.org/\">\n"
"  <soapenv:Header>\n"
"    <seam:conversationId xmlns:seam='http://www.jboss.org/seam/"
"webservice'>2</seam:conversationId>\n"
"  </soapenv:Header>\n"
"  <soapenv:Body>\n"
"    <seam:confirmAuction/>\n"
"  </soapenv:Body>\n"
"</soapenv:Envelope>    \n"
"    ]]>"
msgstr ""

#. Tag: para
#: Webservices.xml:39
#, no-c-format
msgid ""
"As you can see in the above SOAP message, there is a "
"<literal>conversationId</literal> element within the SOAP header that "
"contains the conversation ID for the request, in this case <literal>2</"
"literal>. Unfortunately, because web services may be consumed by a variety "
"of web service clients written in a variety of languages, it is up to the "
"developer to implement conversation ID propagation between individual web "
"services that are intended to be used within the scope of a single "
"conversation."
msgstr ""

#. Tag: para
#: Webservices.xml:47
#, no-c-format
msgid ""
"An important thing to note is that the <literal>conversationId</literal> "
"header element must be qualified with a namespace of <literal>http://www."
"jboss.org/seam/webservice</literal>, otherwise Seam will not be able to read "
"the conversation ID from the request. Here's an example of a response to the "
"above request message:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:53
#, no-c-format
msgid ""
"<![CDATA[<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/"
"envelope/'>\n"
"  <env:Header>\n"
"    <seam:conversationId xmlns:seam='http://www.jboss.org/seam/"
"webservice'>2</seam:conversationId>\n"
"  </env:Header>\n"
"  <env:Body>\n"
"    <confirmAuctionResponse xmlns=\"http://seambay.example.seam.jboss.org/\"/"
">\n"
"  </env:Body>\n"
"</env:Envelope>    \n"
"    ]]>"
msgstr ""

#. Tag: para
#: Webservices.xml:55
#, no-c-format
msgid ""
"As you can see, the response message contains the same "
"<literal>conversationId</literal> element as the request."
msgstr ""

#. Tag: title
#: Webservices.xml:60
#, no-c-format
msgid "A Recommended Strategy"
msgstr ""

#. Tag: para
#: Webservices.xml:62
#, no-c-format
msgid ""
"As web services must be implemented as either a stateless session bean or "
"POJO, it is recommended that for conversational web services, the web "
"service acts as a facade to a conversational Seam component."
msgstr ""

#. Tag: para
#: Webservices.xml:76
#, no-c-format
msgid ""
"If the web service is written as a stateless session bean, then it is also "
"possible to make it a Seam component by giving it a <literal>@Name</"
"literal>. Doing this allows Seam's bijection (and other) features to be used "
"in the web service class itself."
msgstr ""

#. Tag: title
#: Webservices.xml:87
#, no-c-format
msgid "An example web service"
msgstr ""

#. Tag: para
#: Webservices.xml:89
#, no-c-format
msgid ""
"Let's walk through an example web service. The code in this section all "
"comes from the seamBay example application in Seam's <literal>/examples</"
"literal> directory, and follows the recommended strategy as described in the "
"previous section. Let's first take a look at the web service class and one "
"of its web service methods:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:96
#, no-c-format
msgid ""
"<![CDATA[@Stateless\n"
"@WebService(name = \"AuctionService\", serviceName = \"AuctionService\")\n"
"public class AuctionService implements AuctionServiceRemote\n"
"{           \n"
"   @WebMethod\n"
"   public boolean login(String username, String password)\n"
"   {\n"
"      Identity.instance().setUsername(username);\n"
"      Identity.instance().setPassword(password);\n"
"      Identity.instance().login();\n"
"      return Identity.instance().isLoggedIn();\n"
"   }\n"
"   \n"
"   // snip\n"
"}]]>"
msgstr ""

#. Tag: para
#: Webservices.xml:98
#, no-c-format
msgid ""
"As you can see, our web service is a stateless session bean, and is "
"annotated using the JWS annotations from the <literal>javax.jws</literal> "
"package, as defined by JSR-181. The <literal>@WebService</literal> "
"annotation tells the container that this class implements a web service, and "
"the <literal>@WebMethod</literal> annotation on the <literal>login()</"
"literal> method identifies the method as a web service method. The "
"<literal>name</literal> and <literal>serviceName</literal> attributes in the "
"<literal>@WebService</literal> annotation are optional."
msgstr ""

#. Tag: para
#: Webservices.xml:107
#, no-c-format
msgid ""
"As is required by the specification, each method that is to be exposed as a "
"web service method must also be declared in the remote interface of the web "
"service class (when the web service is a stateless session bean). In the "
"above example, the <literal>AuctionServiceRemote</literal> interface must "
"declare the <literal>login()</literal> method as it is annotated as a "
"<literal>@WebMethod</literal>."
msgstr ""

#. Tag: para
#: Webservices.xml:114
#, no-c-format
msgid ""
"As you can see in the above code, the web service implements a <literal>login"
"()</literal> method that delegates to Seam's built-in <literal>Identity</"
"literal> component. In keeping with our recommended strategy, the web "
"service is written as a simple facade, passing off the real work to a Seam "
"component. This allows for the greatest reuse of business logic between web "
"services and other clients."
msgstr ""

#. Tag: para
#: Webservices.xml:121
#, no-c-format
msgid ""
"Let's look at another example. This web service method begins a new "
"conversation by delegating to the <literal>AuctionAction.createAuction()</"
"literal> method:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:126
#, no-c-format
msgid ""
"<![CDATA[   @WebMethod\n"
"   public void createAuction(String title, String description, int "
"categoryId)\n"
"   {\n"
"      AuctionAction action = (AuctionAction) Component.getInstance"
"(AuctionAction.class, true);\n"
"      action.createAuction();\n"
"      action.setDetails(title, description, categoryId);\n"
"   }]]>"
msgstr ""

#. Tag: para
#: Webservices.xml:128
#, no-c-format
msgid "And here's the code from <literal>AuctionAction</literal>:"
msgstr ""

#. Tag: programlisting
#: Webservices.xml:132
#, no-c-format
msgid ""
"<![CDATA[   @Begin\n"
"   public void createAuction()\n"
"   {\n"
"      auction = new Auction();\n"
"      auction.setAccount(authenticatedAccount);\n"
"      auction.setStatus(Auction.STATUS_UNLISTED);        \n"
"      durationDays = DEFAULT_AUCTION_DURATION;\n"
"   }]]>"
msgstr ""

#. Tag: para
#: Webservices.xml:134
#, no-c-format
msgid ""
"From this we can see how web services can participate in long running "
"conversations, by acting as a facade and delegating the real work to a "
"conversational Seam component."
msgstr ""
