xfire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜzÝ axis 1.x...

22

Upload: others

Post on 01-Sep-2019

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental
Page 2: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

XFire �������� ������������������������� �

��� �http://www.kuaff.com ������������� pdf � ������ ������ �!�"�#��%$�&������ '�(�)�*�+�,

XFire - codehaus .0/21�3542671 java SOAP 859;:=<?>2@2ACBEDF1 API G5H2I5J2K2LM :�N2OQP�R5SF1UTEV2WQXZYC[;1�\2]Q^?_�`Ea STAX b?c2dF1 XML e?fhgUi71�b2j?k;:XFire lCm5nCo;1�prqh^�sEt Axis u5v;:xwzy5{71�|E}?~5�2s;�?1Uor:��2kEG String �?�;:a�w�y71 java webservices T��?�r���2�F1��2�2�7:��E�;���rT��?��w��2�?�7^��?�E�5�E�<h>r�?�h�CN?�C� Xfire BCDhTCV5 r¡¢^�<r>C4h£?¤x1��0¥U�h¦0:E�?N?�h§Q1 XFire 1webservices ¨C©7^

XFire lCmQPª371�«CpF¬

� H5I5­2®F1 web Y?[2JEKF:°¯ SOAP ± WSDL ± WS-I ± WS-Addressing ± WS-Security

b?²2³5®5´

� oEprqr1 SOAP µ5¶E·

� O2¸5¹71�º5»;:�H2I POJO ± XMLBeans ± JAXB1.1 ± JAXB2 PZ¼ castor

� jsr 181 ½?¾

� H5Ih��¿5À2Á5L M ¬ HTTP, JMS, XMPP, In-JVM ´

� O5Â5§2ÃF1 API

� H5I Spring ± Pico ± Plexus ± Loom Ä2Å

� JBI H5I

� Æ5Ç5ÈEG5Y?[EÅ5È71ªÉ5Ê2Ë?`5Ì5Í

� JAX-WS 1�Î5Ï2H2I

<?>53EÐ?N2OQPZÑCÒ XFire G5Ó2{585971 SOAP µF1��EÔ71CÕZÖ (2006 × 3 Ø 30 Ù ) ¬

Ú�Û�Ü�ÝÚ�Û�Ü�ÝÚ�Û�Ü�ÝÚ�Û�Ü�ÝEÞ ÜZÝÜZÝÜZÝÜZÝ Axis

1.2.x

Axis 2 (0.9) Celtix Glue JBossWS XFire

Basic Profile 1.1 Compliant X X X X X X

Page 3: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

Castor Support X X

Easily Embedded X X X X

DIME X X

Easily Create Services from

POJOs

X X X

JAXB 1.1 X X X

JAXB 2.0 X X

JAX-RPC X X? X

JAX-WS X Early Access

JBI (See ServiceMix) ? X X

JSR 181 X X X X

JSR 181 on Java 1.4 X

MTOM X X 1.1 Beta+

Open Source X X X X X

RPC-Encoding X X X

SAAJ X X? X X ? 1.2

Soap 1.1 X X X X X X

Soap 1.2 X X X X X

Soap w/ Attachments X ? X X Scheduled for

1.1

Streaming XML (StAX based) Inbound

ONLY

X

WSDL 1.1 Support X X X X X X

WSDL 2.0 Support Post 1.0? 1.2

WSDL->Code (Client) X X X X X X

WSDL->Code (Server) X X X X X X

XMLBeans Support X X X

ß�àß�àß�àß�àZá�âá�âá�âá�â ÜZÝÜZÝÜZÝÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire

Spring X X X

Plexus

Loom X

Page 4: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

ã�ä�å�æã�ä�å�æã�ä�å�æã�ä�å�æ ÜZÝÜZÝÜZÝÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire

Http X X X X X X

JMS X X X X X X

Jabber Experimental X

SMTP X X

Web çZèçZèçZèçZèZé�êé�êé�êé�êZë�ìë�ìë�ìë�ì (WS-*) ÜZÝÜZÝÜZÝÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire

Addressing X X X X X X

Eventing

Notification ? ? ? Via ServiceMix

ReliableMessaging X X X ?

Security X X X X 1.1 Beta+

�?�2�2�2�?í232W5îE�rTEV2R5W2u5ï5ð Xfire 1ªñ5ò7¬

� ó?ô XFire

� B2DF1 Web Y?[

� jsr181 õ2ö71 Web Y?[

� �?� String

� XFire ñ5ò?÷5f (StringSide T��?��wªø )

� Ó5ù WebServices ½5¾

²?�E�5�Fø�ï5ðF1ª�?¦5ú5-Eû2ò Eclipse TEV;:�Y?[EÅ?- tomcat ^

ü2ý �5§2þ542ÿ7¬�ó5ô XFire ^

Page 5: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������� �� �� �� � XFire

a5�5�2�?mF1UTEVE 2y7:����?-5Ò http://xfire.codehaus.org 3������F1 xfire 1�V��5²;:a� 2�5�2�2�71���F: xfire ���F1��2²?- xfire-distribution-1.1-beta-1 �F:%í��ER����23��CÒ²����2Å��;:�e��F:Qw���� �5¯237¬

xfire-distribution-1.1-beta-1

|____api (javadoc �5� )

|____sample ( î2� xfire �5¦ )

|____lib (xfire ��!F1 jars)

|____modules (xfire "�# )

|____xfire-all-1.1-beta-1.jar

|____ î2��$�%2G?v'& TXT �5�

{5�5@2A01ª�?¦�!2® Maven2 (�)�*5�F:�¯�+2N ,�-Em�. / Maven :�O0P�Ò apache ��53���. /0^�a5N10�201��?��3E\01ª�?¦Fø2:542�2û5ò ant �5��(�)F:76 8 Ant 9C- :�;E��Eò01�� w�<�=�(�)5Ì?ÍF^

a?NF1 tomcat 1 webapps `�>?4E� web ñ5ò2\5]F:��?¯ xfire :Qw���� �2¯53F¬

xfire

|____WEB_INF

|____web.xml

|____classes

|____lib

�?3��2e��F1 xfire-distribution-1.1-beta-1\lib ��?�@53F1��?mF1 jar A?§F1��E� lib ��?@53 (tomcat/webapps/xfire/WEB-INF/lib) ± � xfire-distribution-1.1-beta-1\xfire-all-1.1-beta-1.jar

A?§?Ò tomcat/webapps/xfire/WEB-INF/lib ��?�@230^

� xfire-distribution-1.1-beta-1\examples\book\src\webapp\WEB-INF 371 web.xml ��?CBD Ò tomcat/webapps/xfire/WEB-INF ��?�@530^

Web.xml 1r_�Ä2¯53F¬

Page 6: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- START SNIPPET: webxml --> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>XFireServlet</servlet-name> <display-name>XFire Servlet</display-name> <servlet-class> org.codehaus.xfire.transport.http.XFireConfigurableServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>

E�Ftomcat, ����G?TH�I�Å7: a�H�I�Å���J�K7ø�Á5§ http://localhost:8080/xfire/services/ :

¯�Lrq�M�N2��O�P�QEWF:�v�& xfire R2ó5ô5��S1T?^

��U7:�4�V71 XFire R2ó?ô�W5�1T?^

Page 7: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������� � �� � �� � �� � � web

a?�54Eÿ7:�N2�'T�eCÒE¯�L2�?4E��X2<01 java ��?�Y�ZC[�42� web YC[h: services.xml

��?C-E¯�L5»�\F1E:�¯�L5V ?�E� web YC[h±z¯�L�]�^5�E�5Y?[;1 WSDL ±z¯�L2Ë5` Client

6�_7±�¯�L�` a?�E� web YC[7^

ü2ý G5T Eclipse :�Ë5`54E��X5<71 java Ì2\7:�� xfire ��!F1 jar G xfire 1 jar �5§CÒ

Ì2\5��!F17b�crgUò7ø?^�Ë?`54E�CBED71 java ��?F:��2� java � ?CB2D?Ò�d�@5A?4E� add

R�e0^

package com.kuaff.xfire.samples;

public class MathService

{

public long add(int p1, int p2)

{

return p1 + p2;

}

}

a src w��232Ë?` META-INF/xfire w��F:f���2a META-INF/xfire w��532Ë?` services.xml

��?7:���?x_�Ä�[h¬

<beans xmlns="http://xfire.codehaus.org/config/1.0">

<service>

<name>MathService</name>

<namespace>http://www.kuaff.com/xfire/samples/MathService</namespace>

<serviceClass>com.kuaff.xfire.samples.MathService</serviceClass>

</service>

</beans>

�2�?�2�?» \'T�N5®5V 71 web Y?[;: �2�?»�\1T�42��g�[ MathService 1�YC[h: Y[bh[ com.kuaff.xfire.samples.MathService i

��U�4 V01�42�?B2DF1 web Y?[�R?T2V W5�1T2:�32W�R5® j5{?V 7/lkF^

� Ì \ bin wm� 3 1 � m 1 �n?oB D Ò þ 4 ÿ ø ó ô 1tomcat/webapps/xfire/WEB-INF/classes ��?�@53F:

E Ftomcat :�N�R5O0P7p�qE�2� web YC[

Page 8: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

-�r5V?��S1T5^

G?T H�IEÅF:�a�H�I�Å���J�K0øªÁ?§ http://localhost:8080/xfire/services/ :�N5�s�t53Eñu H�I�Å5ñ u O�P b�v?3'wª��PF1lQEW0^

xzy ¬|{ a}H}I Å ø Á § http://localhost:8080/xfire/services/ ~}� -http://localhost:8080/xfire/services :���������O�P71�QEW5s���:��C-�����Q2W2kF1����F:����1������0/��7:���[������5W��E�'T�42��� / � ^

��� [wsdl] ���F:�O0P�q�Ñ5�2� web YC[;1 wsdl �2�7^

¯�+Ea5N71��5Å5k71�O�P2¯5k5WE��P;:��Ev�&ªN71��2� web Y?[5V?��S;:�OQP�N2�@5A5b?c http 1 web YC[F^

35W54E������R5-2¯�LCTEV24E� Client :�u��������Eò��ª�E� web YC[F^

XFire ± Axis ± asp.net P�¼2Ó5{01�4���  ¡�¢�£�úE@2A�T�Ê�¤ wsdl �2�2Ë5`5Æ2Ç5È26�_1�Ì?ÍF^���¥2û2ò Xfire @2A01 wsgen Ì5Í2uEË?`2Æ2Ç5È71�¦��Z6�_0^

Page 9: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

Wsgen - xfire @2A01�42� ant task : task 1h§�&ª¯53F¬

<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"

classpathref="xfire ¨ jar ©lª " />

��U7:�R5O0PZa build.xml ��?0ø��2ò5�E� task ¬

<wsgen outputDirectory="client" wsdl="MathService.wsdl"

package="com.kuaff.xfire.samples" />

outputDirectory «5p5»�\2Ë5`71ª6�_2�5a71�� ?�@F: wsdl - web YC[;1 wsdl ��?7:package 65Ð2Ë?`F1�6�_71 packege ^�,?O0P�<5> binding «2p D » bind bC¬;¬ jaxb ­��?-xmlbeans :

��U7:�R��2a client ��?�@532Ë5`h��� java ��?7:����5� ?5@2A�T�¦�� web YC[F1�Re0^

a?��¥�®1&ª4C�C:�Ë5`71ª6�_�: ¯01��2ò'T java x�° :Z�E� JSE5 ø�@2A01���«CpF:��PªN�!E®��Eò JSE5 (�)F: Eclipse ��±�²2® 3.1 PªkF1��5²7^

�'³ ant ´0²7�7Ë0`'µ7�Q�1?�¬ MathServicePortType ± MathServiceImpl GMathServiceClient ^ MathServicePortType -r�r� web YF[Q1�ÆhÇrÈC�·¶�ÉhÊ¢±MathServiceImpl �EÔ'T��2���¸¶�^ MathServiceClient ¹�/'T�¦º�ª�E� web YC[;1�Re0^

���F:�N5O0P�Ë5`54E�?D�»�` a�b0:�ò?u�` a?�2�5Æ5Ç5Èbx^ª�2� bQ1C_�Ä2¯537¬

package com.kuaff.xfire.samples;

import junit.framework.TestCase;

public class MathServiceClientTest extends TestCase

{

public void testAdd()

{

MathServiceClient client = new MathServiceClient();

MathServicePortType ms = client.getMathServiceHttpPort();

long result = ms.add(10, 20);

assertEquals(result, 30);

}

}

Page 10: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������jsr181 � �� �� �� � web

JSR 181 <5>5JEK�¼242�C½�c�¾h¿lÀ5O0P�ÁÂhTEV;1 Web Y?[5BED�(E\�"�¬h: í ~�Ã�ÄT�t Web YC[;1�û2òQ^ª4 ÅxPªu;: J2EE T2VE|CÆ�®?T2VEG�Ç�È Web Y [ R�±�²�É�Ê?sh��r1�Ë�Ì;^ <5>��Eò J2SE 5.0 ø21���Í x�° S?qr: Java Î�?2�56�_?O0P��Eò JSR 181 x�° �� x�° :Uí ~�®Ï&�à �C» \2��!;1 Web YC[��h[h^ª���CTEV2|�Æ�O0P�� x�y�Ð �0øªa Web

YC[F1ªñ5ò�Ñ�Ò5k�~ Ó�! Ô�ÕCB Ö;1 API ±�L M G�Ç�È ×�Ø�Ù0^

BEA �2R'���2m545�Ú� web YC[ »5� ¤CBEï � , t�=Ee JSR 181 ½5¾2n5m�Û Ü0^

�542ÿ71��5¦2G5k54Eÿ01ª�?¦5n2s�vF:l­��2<5>��Eò java x�° :rÕ�k54Eÿ71 POJO ÝÞ B�ÖÏT�4��;^��5-Ev JSR 181 ÿ�ßÏT�nr�r1ªó?ô ËCÌCà�á�â2|�ãC[�O0P�íE�2�?R2W5u�=e7:�N2� s�t53;: POJO ¯�+Eó?ô?Ò�Ó2ù webservices 8?953;:rÕ�¯ axis2 ± Celtix ± weblogic

´5Ä2Å7ø2:ä±���!2®�(� å�æ5���5ÄEÅ01ªó?ô2��?F:�PªS2���2Ä2Årq�M�ç�è2�2� POJO br-wenservices :�é2Ê�¤?óCô?��?Qø?1rÕ�¯�ê�g�ëÏì?±lí?��bh¬F± web Yr[71�R�e?´�ËhÌE@?Aweb YC[F^�~E<?> jsr 181 ½?¾Fø21�» \5O0P��

Fç�è5��� ËCÌr:�� U?����Ë�Ì���±�a�î2�

Ä2Å0øª�5ó5ôF:����2Ä2Å2<?> java x�° R2OQP7^CÒ�����Ë�Ìh:��xP�v jsr181 a?�5R2W2�2�T�B�¼7^ XFire <?> services.xml ��?�^CÒ�ïU��b5�?»�\C[ web Y?[;: XFire OQP�<5> java

x�° u�] ð web Y?[F1�s�ñ ËCÌ;^

ò T2:�ó�4 V ý 24E�?� jsr181 x�° 1 java � ?0¬

package com.kuaff.xfire.samples; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService(name="MathService",serviceName="MathService",targetNamespace="http://www.kuaff.com/xfire/samples/MathService") public class MathService { @WebMethod @WebResult public long add(@WebParam int p1, @WebParam int p2)

Page 11: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

{ return p1 + p2; } }

�2�5�5¦7øª� MathService »�\C[ web YC[�\5]F:�YC[�g�[ MathService :�ê�g�ëhì�[MathService :�� add R�e5»�\�[ web Y?[F1�R�e;:��2m��E��í2�0^

ôCõ

services.xml ��?7: ô�õ W�6 �71C_�Ä2¯53F¬

<beans xmlns="http://xfire.codehaus.org/config/1.0">

<service>

<serviceClass>com.kuaff.xfire.samples.MathService</serviceClass>

<serviceFactory>jsr181</serviceFactory>

</service>

</beans>

a?�2�2ó?ô2��?7ø2:�N�d�!2~?» serviceClass G serviceFactory ö�OF: XFire�5Ê�¤ x�° ]�ð2�E� web YC[F1�»5� ¤Q^

35W71�÷�ø2G?k242ÿ5ï?ð;1�b�vF: �?sEñ01���?�B D Ò xfire web ñ2ò5\2]?sEñ1���?�@F:

E�Ftomcat R2OQP7p�ù?�E� web YC[ÏT5^°Æ5Ç2È71�(� �G?k242ÿ5s��5^

Page 12: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������XFire Web � � � � � � � � � � � � � � � �

Nz�}± Vú Ò tomcat ´ Ä Å ø¸R O P¢� �}`ûa :�� ò 1ü`úa}b �þý}ÿAbstractXFireSpringTest ��� b ^ AbstractXFireSpringTest b�� � Ô�TAbstractXFireTest b0: AbstractXFireTest br- TestCase 1�¦ b7:��QPªN2OQP7�Eò junit �5�D�»�`ax^

35W2Ñ542�2�?¦F¬

package com.kuaff.xfire.samples;

import java.net.URL;

import

org.apache.xbean.spring.context.ClassPathXmlApplicationContext;

import org.codehaus.xfire.client.Client;

import org.codehaus.xfire.service.Endpoint;

import org.codehaus.xfire.spring.AbstractXFireSpringTest;

import org.jdom.Document;

import org.springframework.context.ApplicationContext;

public class MathClientTest extends AbstractXFireSpringTest

{

public void testService() throws Exception

{

Document wsdl = getWSDLDocument("MathService");

printNode(wsdl);

}

protected ApplicationContext createContext()

{

return new ClassPathXmlApplicationContext(new String[] {

"/org/codehaus/xfire/spring/xfire.xml",

"/META-INF/xfire/services.xml"

});

}

}

N�±�²5��Ô createContext R�e;: �E�?R�e2��^CÒ�ñ5ò?k235�7^ a5�2�2�?¦Fø�����T

Page 13: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

42� ClassPathXmlApplicationContext k535�;:�{2<?>b��01�32ó5ô2��?� ��5�E�k535�Et��7^

� 371�Ì?Í R?-� 2D�»�`aQ1�R�eF:�G junit 1�R2Ã24�UQ^ getWSDLDocument R�e5OP�]�ð2~5» Web Y?[F1 WSDL �5�0^ª¯�+EN5®�` aCV 01ªYC[h:�,5OQPZ<?>

invokeService ����` aQ¬

Document response = invokeService("MathService", "Add.xml");

addNamespace("k", "http://www.kuaff.com/xfire/mathservice");

assertValid("//soap:Body/k:addResponse", response);

printNode(response);

<?> assertValid R�e2OQP�<5> Xpath q��01�R2Ã�ù������51 xml �5�?-�rEG��?Ï24� ^ �����

1r_ZÄ5O0P�q�Ñ AbstractXFireTest 1 API ^ a SpringSide �E�rT��?��wªø��1T�4E� Web YC[h:�{01�D�»�`a?6�_?¯237¬

package org.springside.bookstore.service;

import … …

public class XFireTest extends AbstractXFireSpringTest {

protected final Log log = LogFactory.getLog(getClass());

public void setUp() throws Exception {

super.setUp();

}

public void testGetWsdl() throws Exception {

Document doc = getWSDLDocument("BookService");

assertValid("//xsd:complexType[@name=\"Book\"]", doc);

assertValid("//xsd:complexType[@name=\"Category\"]", doc);

}

protected ApplicationContext createContext() {

return new ClassPathXmlApplicationContext(new

String[]{"classpath*:applicationContext*.xml"});

}

}

Page 14: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������� �� �� �� � Spring� �"!$#&% OQP�n ò 1��5�CÒ('*) #"!$+-, ø2:.'/) #"!0+-, 1ª6�_2143��1T��2R5WF1��5�0^

ü2ý :�4�V ý Ë5`�4 V7165 %87 Y?[;:�û5ò��¸¶ GC��Ô�bQ1�R5ÃF¬�¸¶:9&;-<>=/' %>#/?"!A@ %/B C ; ? ; ¬

package com.kuaff.xfire.samples;

public interface MathService

{

public long add(int p1, int p2);

}

�EÔ�b0¬package com.kuaff.xfire.samples;

public class MathServiceImpl implements MathService

{

public long add(int p1, int p2)

{

return p1 + p2;

}

}

9&D*E*F-GIH$J �/K/L/MN!$#&%8KIOP%>#*?"!Q@ %*B8LPRTS � ? O Pûß�U T : � [ V %87 Y [ 1 » \ aL MN!$#&% G OP%>#/?IS>% < B8LPRTS ø�O0P�W5Ò;^

35W5®��71�Ì?Í R?-�ó?ô1T?^aX5-D*Y/GIHAJ � ��?�@53EË5`Z;*)/) S !Q@ ;-< !A[P+/\ [*+ < %>L < B>LPR"S ��?7: �?-X'*) #"!$+ , 1ªó?ô2��?7: ¯

+2N��Eò5Ó2ù71]'/) #N!$+-, ó5ô5��?F:�O0P��535WF1 7&% ; +_^ �CÒa`5�2ó?ô2��?7ø2¬<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="mathBean"

class="com.kuaff.xfire.samples.MathServiceImpl"/>

</beans>

Page 15: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

»�\1T R ;-<8=*Y % ; + : �E�ZY % ; + R5-�4 V01��EÔ b0:��l�5N?�EOQPZa?�E�?� ?0ø�»�\2Ó2ù1l!E®Z'/) #N!$+-, <�=F1 7b% ; + ^

aZ5-DPY GIHAJ � � ?�@232Ë5` L MN!$#&% G OP%>#/?IS>% < B8LPR"S � ?F:�Ê�¤c'/) #"!$+ , ½5¾;:��2�5��?�ged� L MN!0#&% G O>%>#/?NS8% < B>L>RTS8f Ó7ø L MN!0#&% -gV %87&B>LPRTS ó?ôF1ih !PO ) ;-< @ = %># ' %>#/?NS8% <�1�g�j]k<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean

class="org.springframework.web.servlet.handler.SimpleUrlHandlerMappin

g">

<property name="urlMap">

<map>

<entry key="/MathService">

<ref bean="math"/>

</entry>

</map>

</property>

</bean>

<bean id="math"

class="org.codehaus.xfire.spring.remoting.XFireExporter">

<property name="serviceFactory">

<ref bean="xfire.serviceFactory"/>

</property>

<property name="xfire">

<ref bean="xfire"/>

</property>

<property name="serviceBean">

<ref bean="mathBean"/>

</property>

<property name="serviceClass">

<value>com.kuaff.xfire.samples.MathService</value>

</property>

</bean>

</beans>

�2�?� ?01�k�l Ç5÷E�m9&; <>=/' %>#/?N!Q@ % �2�mn-o/p°G R ; <8=��2� 7b% ; +rq £Ea54�dQ^ 3�l�Ç2÷»�\'Ts5 %87 YC[F1 7b% ; + G2YC[ �|¶U^�Ó0ø R ; <>=*Y % ; + -�4�V2ac;*)/) S !Q@ ;-< !A[*+/\/[*+ < %>L < B>L>RTS ø

Page 16: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

ó?ô71t`2�ZY % ; + ^

���54�÷�R5- ô�õ V %87bB>L>R"S ��?7¬uPv LPRTS�?&%>#IO !A[*+/w-xby8BPz x�%>+ @P[ {I!$+-,Pw-x HQ'/|*G }/} ~P�*G y8x v-�u�� h | \ E*� �/DaV %87 G/;*)/)

�Pn/Y pIH \x G K*K '*� + 9 !Q@>#/[bO8�bO < %AR"O>f H +-@ B8K/K h/E*h�5 %Q7 F-)/) S !A@ ;-< !$[*+�� B*�PK/K D*J xx =-</<>)�k K/KbC ; ? ; B-O � +&B*@P[8R-K-{ < {PK V %87 G/;*)/)>� � � � BP{ < { x �u V %87 G ;P)/) �u @P[*+ < %8L <>G/)/; # ; R �u )/; # ; R G + ; Rb% � @*[P+ < %>L < \ [P+ MN!Q, p [ @ ; < !A[*+ u K ) ; # ; R G + ; Rb% �u )/; # ; R G ? ; S � % � K 5 D*Y GIHAJ �*K ;*)/) S !Q@ ; < !A[*+*\ [*+ < %8L < B>LPRTS@bS ; O/O )/;-<>=�k [*#-,PK @P[ { % = ;P� OQK/L MI!$#&%>KbO ) #"!0+-,PK/L/MI!$#&%/B>LPR"S u K )/; # ; R G ? ; S � % �u K @*[*+ < %>L <>G*) ; # ; R �u @P[*+ < %8L <>G/)/; # ; R �u )/; # ; R G + ; Rb% � SQ[/,>�bC8\ [*+ MI!Q, p [/@ ;-< !$[*+ u K ) ; # ; R G + ; RI% �u )/; # ; R G ? ; S � % � K 5 D*Y GIHAJ �*KNSQ[ ,>�bC*B ) # [ ) %8# < !8% O u K ) ; # ; R G ? ; S � % �u K @*[*+ < %>L <>G*) ; # ; R �u S/!PO < %8+&%># �

u S !PO < %8+&%># G @bS ; O*O � [*# , B-O ) #N!$+-,*M*# ; RI% V [P#/�&B V %87bB �&< !*S>B p [ ,P�bC8\ [P+ MN!Q, p !PO < %>+&%># u KNS !>O < %>+&%># G @bS ; OO �u KIS !PO < %>+&%># �u S/!PO < %8+&%># �

u S !PO < %8+&%># G @bS ; O*O � [*# , B-O ) #N!$+-,*M*# ; RI% V [P#/�&B V %87bB*@P[*+ < %8L < B>\ [*+ < %>L <>p [ ; { %8# p !PO < %>+&%8# u KNS !PO < %>+&%>#G @bS ; O/O �u KIS !PO < %>+&%># �

u O>%>#/?NS8% < �u O>%>#/?NS8% <>G + ; RI% � L/MN!$#&% u KbOP%>#/?IS>% <>G + ; RI% �u OP%>#/?NS8% <>G @&S ; O/O � [*#-,/B-O ) #N!0+-,*M*# ; Rb% V [*#*�&B V %Q7bB-OP%8#/?NS>% < B h !PO ) ; < @ = %8# ' %>#*?NS>% < u KIOP%8#*?NS>% <>G @&S ; O/O�

u KbOP%>#/?IS>% < �u O>%>#/?NS8% <>G R ;*)/) !0+-, �u O>%>#/?NS8% <>G + ; RI% � L/MN!$#&% u KbOP%>#/?IS>% <>G + ; RI% �u � #NS G/)/;-</< %8#/+ � K/� u K � #NS G*) ;-</< %>#/+ �u KbOP%>#/?IS>% <>G R ;*)/) !$+-, �u K V %87 G/;*)/) �

Page 17: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

!2® x�y �E�?� ?01�µ5��Ç5÷7¬y-�

a » \ @P[*+ < %8L < \ [P+ MN!Q, p [/@ ;-< !$[*+ í � � 4 » ® � k@bS ; O/O )/;-<>=�k [*#-,PK @*[ { % = ;P� OAK*L MN!$#&%>KbO ) #"!0+-,PK/L/MN!$#&%*B>LPRTS ^�T� »�\ S/!PO < %8+&%># k [*#-,/B-O ) #N!0+-,*M*# ; Rb% V [*#*�&B V %Q7bB*@*[P+ < %>L < B>\ [*+ < %8L <>p [ ; { %># p !PO < %>+&%>#�"� »�\Xh !PO ) ; < @ = %8# ' %>#*?NS>% <�k L MN!$#&%

��U7: N�R2OQP�¦�� =-</<>)�k K*KNSQ[ @ ; S = [bO <�k�} z } z*K/L MI!$#&%>K 9&;-<>=/' %>#*?"!Q@ % u��Eò?�E�25 %Q7 YC[;:�2OQPZ<?>'��J =&</<8)�k K/KISA[ @ ; S = [&O <�k�} z } z*K*L MN!$#-%>K 9b; <8=/' %>#/?"!A@ % v V O>{bS u�q�ÑmV O8{&S �5�7^

Page 18: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

��������XFire � � � �� � � �� � � �� � � �

�542ÿF:�<5>Z'*) #"!$+ , ' !Q{/% u5÷2f � �"!0#&% 1ªñ5ò0^

'/) #"!$+-, ' !Q{/% T��?��w -��?_�1UTEV2|�Æ����71�42�QPZ'/) #"!$+ , [a��Õ71UT��5� w f wª1-E@5A54E� Pragmatic 1��¡5ñ5òCT2V�b5j2G����C������P7^ [��2ò Spring 85971UTEV��E@A?42�?� Demo �71�B Öh±�N2Ã�~��EÔ������EòC���F1�í��C£��0^l[ JavaEEer ±�²5WEt01�?mº���5@2A�æ�=71E±læ�� Pragmatic ���;1�e��R��0^�û2ò Plugins  5Ã�¡�¢F:��CTEV��O�Á ÂC»�£2��!;1�í�¤?R���é��2��e?Òü�4¥21�£��7^

'/) #"!$+-, ' !Q{/% ø�ñ5c(5 %87 Y?[F1�ó5ô?-�a5-D*Y GIHAY �/K-@bS ; O/OP% O � ??3F1¦;*)/) S !Q@ ; < !A[*+*\ [*+ < %>L <>G8V %87NOP%>#/?N!Q@ %/B8LPRTS ø�ó5ô712¬uPv LPRTS�?&%>#IO !A[*+/w-xby8BPz x�%>+ @P[ {I!$+-,Pw-x n E � G } x v �u�� h | \ E*� �/D 7&% ; +IO �Pn Y pIH \ x G K/K '/�*oIHAJ/§ K/K h/E*h Y DPF J K*K D*J xx =&</<>)�k K/K V/V*V B-O ) #"!$+-,PM*# ; Rb% V [*#/�&BP[P#-,PK-{ < {PKIO ) #"!$+ , G 7b% ; +IOPB*{ < {/x �u 7b% ; +IO �u !¨R ) [*# < #&% O8[ � # @ %>w&xP@&S ; O/O ) ; <>=�k [P#-,PK-@P[ { % =/;P� OQK*L/MN!$#&%>KIO ) #"!$+ ,PK/L MI!$#&%/B8LPRTS>x8K �u 7&% ; +@bS ; O/OQw-xP[*#-,/B-O ) #N!$+-,*MP# ; RI% V [*#/�&B V %Q7bB-OP%8#/?NS>% < B = ; +-{bS>%8#-B ' !©R ) S8% n #NS©ª ; +-{&S>%># 9&;*)/) !0+ , x �u ) # [ ) %8# < ��+ ; RI%8w-xQR ;*)/) !0+-,&OPx �u ? ; S � % � K Y [*[P� ' %>#/?"!A@ %>w*7 [/[*� ' %>#/?"!A@ % u K*? ; S � % �u K ) # [ ) %># < � �u KP7b% ; + �u 7&% ; + !Q{Pw&x87 ; OP% 5 %Q7 ' %>#*?"!Q@ %*x@bS ; O/OQw-xP[*#-,/B*@*[ {/% = ;P� OPB>L MI!0#&%/B-O ) #N!$+-, B8#&%QR&[ < !$+-,/B8� �"!0#-% D L ) [*# < %>#&x ; 7NO < # ; @ < w&x < # � %/x �u ) # [ ) %8# < ��+ ; RI%8w-x-OP%>#/?"!A@ %>� ; @ < [*#/�-xe#-%PM*w&x8L/MN!$#&%/B-O>%>#/?"!A@ %>� ; @ < [*#/�-x>K �u ) # [ ) %8# < ��+ ; RI%8w-x>L MN!$#&%*xe#&%>M*w&x>L/MN!$#&%*x>K �u KP7b% ; + �u 7&% ; +�!Q{Pw&xQ7-[/[*� ' %>#/?N!A@ %/x ) ; #&%>+ < w&x87 ; OP% 5 %Q7 ' %>#*?N!Q@ %/x �u ) # [ ) %8# < ��+ ; RI%8w-x-OP%>#/?"!A@ % Y % ; +&xa#&%PM*w-x87-[/[P� 9b; + ; , %8#&x>K �u ) # [ ) %8# < � + ; RI%>w&x OP%>#/?N!Q@ %>\IS ; O/O>x? ; S � %>w-xP[*#-,/B-O ) #N!$+-,&O !Q{ %/BQ7 [/[*�IO < [P#&%/B-O>%>#/?"!A@ %/B V %87NOP%8#*?"!Q@ %/B Y [/[*� ' %>#/?"!A@ %/x>K �u KP7b% ; + �u K*7b% ; +bO �

þ?4�÷;:EgU§ L/MN!$#&%*B>LPRTS ��?

Page 19: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

u !©R ) [*# < #&% O8[ � # @ %>w&xP@bS ; O*O ) ;-<>=�k [P#-,PK-@P[ { % =/;P� OQK*L MN!$#-%8KIO ) #"!$+ ,PK/L MI!$#&%/B8LPRTS>x8K � ^z��U7:�4V�R���±EacV %87bB8LPRTS øªó5ô'T f �2¿�«�eEa¬'/) #N!$+-, í�¤�­�® � �-BPz G89 � � � Bby } ÿ0ø�m2ï?ðh:� Bby � ÿ?ï5ð1TªamV %87&B>LPR"S ó?ô 7&% ; + »�\2��?71�R�e;:lR?-Ek54Eÿ��Eò01�R�e7^

þ¯�÷;:�° =²±�³µ´.¶ K Y [*[*� ' %>#/?N!Q@ % n-o/p¸·Z¹-º*º*»/¼&½8¾*¿"ÀQÁ ½ÃÂ�ÄZ¹&½PÅ*Æ_Ç�ÈaÉʵËeÌ�Í:´Â�Îi¹-º/ºP»/¼&½>¾*¿"ÀQÁ ½ÐÏ�Ñ�Ò�Ó�¹-ÅbÔP½QÕb½8¹ ¼&½8¾/¿"ÀQÁ/½b´AÂ�Ö�×eØ:ÙaÚ�´AÂ�Ö�Û�Ü�Ý�Þ�ÄiÕI½Q¹àßás¹b½PÅPÆ"´â Ñ�ÒX¹-ÅbÔ>½QÕI½8¹/¼&½>¾/¿NÀQÁ ½ â�ãåä Ó�´æÂ�ç�èåéëê�ìµítî�ï�ð�ñ�ò�ó�ô�õ�ö�÷µí�´ø¼/ù/¾"À$Æ ú¸û�üý�þ ÿ � ������� Ó���í�� Ë

� ¹-º/ºP»/¼&½>¾*¿"ÀQÁ ½ í�������´ëÔP½>¾/¿"ÀAÁ ½��b½>Å*Æ�� â ñ������� �!#"g¹ º/º*»%$&Å*Æ Å ú/½>¾¸¹b½>ÅPÆ"´æÂ�Ĺb½PÅ*Æ&�('�ñ � Õ*)+�*,.-0/*132-Á54AÅbÔ/ÔP½-Ô62 Å*ù/ù.4 ÀQÁ*Å*7bÀAº*Æ+8 º*Æ57*½�957%,;:&Å*Æ/Å ú ½>¾ � 9;:<4>=�?@�BA����:´%!�CD"º*¾-ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � ¹-º/ºP»IÔ;7PºP¾-½ � ÔP½>¾/¿NÀQÁ ½ � 4Qº úIÀAÁ � �-º*º*»%$bÅPÆ/Å ú ½>¾GFù Å ÁP» Å ú/½�º*¾ ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � ¹-º/º*»IÔ;7>º*¾&½ � ÔP½>¾/¿NÀQÁ ½ � 4Qº úIÀAÁIHÀJ:-ù º*¾57LKMK

ù+N/¹<4 ÀQÁ�ÁO4QÅ&Ô/Ô�� º/º*»%$&Å*Æ Å ú/½8¾�½%957/½8ÆPE&Ô�-ÅbÔP½RQ À0¹b½8¾/Æ ÅP7*½6S-Å/º�ÀJ: ùT4>½6:b½>Æ57-Ô�-º/ºP»/¼&½>¾*¿NÀQÁ ½VUù/¾NÀ$¿ ÅP7*½�8 Å*7/½*ú*ºP¾*W�$bÅPÆ/Å ú ½>¾ÁPÅP7/½*úPº*¾*W�$&Å*Æ Å ú/½>¾XHù+N*¹<4 ÀQÁe¿ ºNÀRE�ÔP½+7%8 ÅP7*½Pú*º*¾*W�$bÅPÆ Å ú ½8¾ZY[8 Å*7/½*ú*ºP¾*W�$bÅPÆ/Å ú ½>¾ÁPÅP7/½*úPº*¾*W�$&Å*Æ Å ú/½>¾*\]U

7%^NÀPÔ � ÁPÅP7/½*úPº*¾*W�$&ÅPÆ Å ú ½>¾�_Á*Å*7/½*ú*ºP¾*W�$bÅPÆ Å ú ½8¾`Ha

ù/¾/ºP7/½*Á37/½+E�8T4QÅbÔ*Ôeú ½+7�)/Æ57bÀ�7;W;8T4QÅbÔ*ÔbYc\]UKMKa

ù+N*¹<4 ÀQÁd�-º/ºP»ú ½+7eYf-QÆP7*½*ú ½>¾µÀRE+\�UKMKa

ù+N*¹<4 ÀQÁe¿ ºNÀRE�Ô8ÅP¿&½eYg� º*º*»�¹-º/ºP»*\�UKMKa

ù+N*¹<4 ÀQÁe¿ ºNÀRE�¾&½R:&º*¿&½IYh-QÆ57/½*ú ½8¾µÀ6E;\�UKMK

Page 20: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

a

ù+N*¹<4 ÀQÁ�i"ÀPÔ%7�ú ½+76jG43408/ÅP7/½*ú*º*¾3WbÔbYc\]UKMKa

ù+N*¹<4 ÀQÁ�8 ÅP7*½*ú*º*¾3W�ú ½+7�8 ÅP7/½*ú*ºP¾*WXYf-AÆ57/½*ú/½>¾µÀRE+\�UKMKa

ù+N*¹<4 ÀQÁ�i"ÀPÔ%7�kNÀ0ÆPE%�-º*ºP»IÔR�PW;/-Å�:I½eY ¼P7>¾"À$Æ ú�Æ Å�:I½;\]UKMKa

ù+N*¹<4 ÀQÁ�i"ÀPÔ%7�ú ½+7�/b½Rl*� º/º*»IÔbYc\]UKMKa

ù+N*¹<4 ÀQÁ�i"ÀPÔ%7�kNÀ0ÆPE�jG4+40i º�l&¼57Pº/ÁP»ZYf-AÆ57/½*ú/½>¾:Ô%7Pº ÁP»%QTÀ$Æ57;\�UKMKa

ù+N*¹<4 ÀQÁ�i"ÀPÔ%7�kNÀ0ÆPE%�-º*ºP»IÔR�PW+8 Å*7/½*ú*ºP¾*WXY ¼P7>¾"À$Æ ú�Á*Å*7*½*ú*º*¾*W�m À6E+\]UKMKa

ù/¾/ºP7/½*Á37/½+Ee¿ ºNÀ6E�kNÀ+4�7*½>¾38/¾"À�7*½>¾"ÀAÅ`Y[8/¾"À67/½>¾"À$Å�ÁP¾NÀ67/½>¾"ÀAÅ*n�$bÅ*ù�kNÀ+4�7/½>¾*\]UKMKa

a

ÔP½>¾/¿"ÀQÁ/½%8T4QÅ&Ô/Ôo� â ñ��]�p!("º*¾-ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � ¹-º/ºP»IÔ;7PºP¾-½ � ÔP½>¾/¿NÀQÁ ½ � lN½8¹NÔ>½>¾/¿"ÀAÁ ½ � � º*º*»/¼&½>¾/¿NÀQÁ ½OF

ù Å ÁP» Å ú/½�º*¾ ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � ¹-º/º*»IÔ;7>º*¾&½ � ÔP½>¾/¿NÀQÁ ½ � lN½8¹NÔ>½8¾/¿"ÀQÁ ½IHÀJ:-ù º*¾57�q>Å*¿/Å � NO7&À+4 � iNÀPÔ;7IHù+N/¹<4 ÀQÁ²À$Æ57*½>¾*k/Å/Á ½d� º/º*»/¼-½8¾/¿"ÀQÁ ½rU

i"À>Ô;7�kIÀ$ÆPE%� º/º*»IÔ0�PW;/-Å�:b½eY ¼57>¾"À0Æ-ú�Æ/Å%:I½;\eHi"À>Ô;7�kIÀ$ÆPE%� º/º*»IÔ0�PW+8 Å*7*½*ú*º*¾*WXY ¼57>¾"À0Æ-ú�ÁPÅP7/½*úPº*¾*W3\eHi"À>Ô;7�ú/½376jG4+4R8 ÅP7*½*ú*º*¾3W&ÔbYc\`H

Page 21: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

a

s ��t:´�¼/ù*¾"À$Æ-ú>¼"À6E ½pueñ�v�Ä ÕI½8¹ ßá:í.ö�w�x:´�Ï�ñ�v�Ä ÕI½8¹ ßá:ízy�{zx ËB| �

ÕP)+�*,.-R/3132-ÁO4AÅbÔ/ÔP½ Ô62 Å*ù*ùT4 ÀQÁPÅ*7bÀAº*Æ38 ºPÆ57/½%9P7%,%lN½Q¹NÔP½>¾*¿"ÀQÁ ½�, ÁO4 À8½>Æ57 � 9;:<4#=@?}�L�@�¦Ó#yr{:µÄÕI½8¹rß�á�ís¹b½PÅ*Æ<F~;� 9;:G4�¿&½>¾IÔ ÀAº*Æ3_P�O� �;� ��½>Æ ÁPº*EIÀ$Æ-ú;_P�6�*�*1+,*�P� �*�~b� S*�38+�+�*�3) ¹&½PÅ*ÆIÔ �;�*�*i.-68 �%,3232/¼3�+�.-R/3�3232+S3�+S �*);j*/*2+23)+/5��%^5737>ù`�c232%l3l+l � ÔQù*¾"À$Æ-ú;k*¾ Å%:b½0lbº*¾/» � ºP¾-ú;2PE37+E;2IÔAù/¾"À$Æ ú;,*¹b½>ÅPÆIÔ � E*7+E3� �~ ¹b½PÅ*ÆIÔ �~b� ,3,�v���������v�� Ô>ÁIÀ0ù/¾57�=�?�,+, �~ ¹&½PÅ*ÆÁO4QÅbÔ/Ô6_P�Pº*¾-ú � ÔQù/¾NÀ$Æ-ú+kP¾ Å%:I½0l&º*¾/» � Ô>Á>¾"À$ù57&À$Æ-ú � ÔRN ù/ù/º*¾57 � ¼ ÁP¾"À$ù57%1/Å Á*7PºP¾*W+� º&Ô;7%�/¾/º Á ½-Ô*ÔQº*¾5� �~ ù/¾ ºPù&½>¾57%W�Æ Å�:b½%_5�>¾&½;kP¾&½-Ô6^+83^&½*Á>»+Sb½54AÅ3WP�a¿/Å.40Nb½%_5�%� � �d2 �~ 2P¹b½PÅ*Æ �

~ ¹&½PÅ*Æ À6E;_5���-º*º*»/¼&½8¾/¿"ÀQÁ/½%8T4 ÀQ½>Æ573�ÁO4QÅbÔ/Ô6_P�Pº*¾-ú � ÔQù/¾NÀ$Æ-ú+kP¾ Å%:I½0l&º*¾/» � Ô>Á>¾"À$ù57&À$Æ-ú � úP¾ º/ºP¿*W � �/¾/º/º*¿*W*¼-Á>¾"À$ù57�1 Å Á*7>º*¾*WP� �~ Á*º*ÆIÔ%7>¾+N&Á37Pº*¾3,/ÅP¾-ú¿ Å.40Nb½%_P�*ÁO4QÅ&Ô/ÔQù Å*7%^`��ºP¾-ú;2IÔAù*¾"À$Æ-ú&Ô-ÀRE ½%2*¹ º/º*»IÔ%7Pº*¾&½�2IÔP½>¾*¿NÀQÁ ½%2%lN½Q¹NÔP½>¾*¿"ÀQÁ ½�2+�-º/ºP»/¼&½>¾*¿NÀQÁ ½%8T4 ÀQ½>Æ57 �úP¾ º/º*¿*W*�%2 � ~ ù/¾ º*ù-½>¾57;W Æ Å%:I½%_5� ÔP½>¾/¿NÀQÁ ½6� ¾T4��¿ Å.40Nb½%_P�%^57378ù`��232.4Qº Á*ÅO4R^ ºbÔ%7���� � � � 2bÔQù/¾"À0Æ-ú&Ô-ÀRE ½%2IÔ>½>¾/¿"ÀAÁ/½%2+�-º/º*»*¼&½>¾/¿NÀQÁ ½3�d2 �~ 2P¹b½PÅ*Æ �~ 2*¹b½PÅ*ÆbÔ �

Â�ÄDy�{¦Õb½8¹rß�á:íi¹b½PÅPÆ&���L"}�-º/ºP»/¼&½>¾*¿"ÀQÁ ½�8T4 À8½8ÆP7b´�|ñ������/¾ º/º*¿3W������L�����Ó�Ë � ¼/ù*¾"À$Æ ú_û�ü ý�þ Yc  �;� ,%$ ÿ \T��íB¡¢  ��£�¤¦¥B��� � ¼/ù/¾"À0Æ-úp�§��������í§¨��µ´§����L��©�ª�ñX¼/ù/¾"À0Æ-ú�  �;� ��«µíD¬®­�n`¯±° ãåä ©�ª��/¾ º/º*¿*W.²§�b½PÅPÆ/¼3^&½P434*²§³/¾+N/¹*Wµ´�ç�������µË

Â�Ä�� º/º*»/¼-½>¾/¿"ÀAÁ ½%8T4/À8½>Æ57�¶�·�ñ � ERl&¾¸�§¨���´ ã äùT40N&úIÀ$ÆbÔ+¹>º*¾ ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � Å5q>Å+9 � ERl&¾O¹0lI½8¹-Å*ù*ùO¹AÕP);�*,.-R/315¹;E6l&¾ � 9%:G4&��í���µË

� ¼/ù/¾NÀ$Æ-úP¼NÀ6E ½+n%���ºjI½*úIÀ>Ô íi¹TÀ0ÆPEIÀ$Æ ú�»�¼�´ �

ùT40N&úIÀ$ÆbÔ+¹>º*¾ ú � ÔQù*¾"À$Æ-ú-Ô-À6E ½ � lN½8¹NÔP½>¾*¿"ÀQÁ ½ � 9*kNÀ0¾&½*¹ ÔA¾-ÁP¹>ºP¾ úP¹ ÔQù/¾"À0Æ-ú&Ô-ÀRE ½*¹Q¹ º/º*»IÔ%7Pº*¾&½3¹/ÔP½>¾/¿"ÀQÁ½*¹0lN½8¹NÔ>½>¾/¿"ÀAÁ ½*¹6� º/º*»/¼-½>¾/¿"ÀAÁ/½ � Å-½*úIÀ>Ô � 9;:<4������Ó½(¾�ò í¿!DÀ(F~;� 9;:G4�¿&½>¾IÔ ÀAº*Æ3_P�O� �;� ��½>Æ ÁPº*EIÀ$Æ-ú;_P�6�*�*1+,*�P� �*�~ :&Å*ù/ù"À0Æ-ú&Ô �

Page 22: XFire - pudn.comread.pudn.com/downloads137/ebook/583418/xfiretutorial.pdfãä åæ ÜZÝ Axis 1.x Axis 2.x Celtix Glue JBossWS XFire Http X X X X X X JMS X X X X X X Jabber Experimental

~ :-Å*ù/ù"À0Æ-ú �~ :b½37%^ º3E�Æ Å�:I½%_5�%kIÀ$ÆPE%�-º/ºP»IÔR�PW%/-Å%:I½+� �~ ¾-½37�N ¾*Æ3,57;WPù-½�Á*º%:-ù/º*Æ&½>ÆP7��PW*ù-½%_5�PºP¾-ú � ÔAù*¾"À$Æ-ú&Ô-ÀRE ½ � ¹ º/º*»IÔ%7Pº*¾&½ � E*º%:-ÅIÀ$Æ � �-º/ºP»5�%2 �~ 2%:I½37%^/º*E �~ :b½37%^ º3E�Æ Å�:I½%_5�%kIÀ$ÆPE%�-º/ºP»IÔR�PW;8 ÅP7/½Pú*º*¾*W*� �~ ¾-½37�N ¾*Æ3,57;WPù-½�Á*º%:-ù/º*Æ&½>ÆP7��PW*ù-½%_5�PºP¾-ú � ÔAù*¾"À$Æ-ú&Ô-ÀRE ½ � ¹ º/º*»IÔ%7Pº*¾&½ � E*º%:-ÅIÀ$Æ � �-º/ºP»5�%2 �~ 2%:I½37%^/º*E �~ :b½37%^ º3E�Æ Å�:I½%_5�Pú/½376jG434R8/ÅP7/½*úPº*¾*WbÔ%� �~ ¾-½37�N ¾*Æ3,57;WPù-½Á*º%:-ù º*Æ-½>Æ57��*W*ù&½%_P�Pº*¾-ú � ÔQù/¾NÀ0Æ-ú&Ô-À6E ½ � ¹-º/ºP»IÔ;7PºP¾&½ � EPº%:&ÅNÀ0Æ � 8 ÅP7/½*úPº*¾*WP��2 �~ 2%:I½37%^/º*E �~ 2%:&Å*ù/ùNÀ$Æ-ú �~ 2;:&Å*ù/ùNÀ$Æ-ú&Ô �

Á 1"À$¾&½ � ¼/ù*¾"À$Æ-ú>¼"À6E/½±��íBÂ�� â ����à Â�ÎD"zÄåË