大体思路:
你传一个xml文件过去,返回一个xml文件,呵呵大体需要考虑的东西:
一 建立需要传输数据的Schema
产生一个*. Xsd文件,这就是你的数据模型了
二 设计公开给客户端的接口及如何公布它
1用Java-to-WSDL 还是 WSDL-to-Java(可移植性的考虑)
建议先写WSDL文件,这需要你有这方面知识
2用Servlet-based endpoint 还是 EJB-based endpoint(选择因素:事务,安全,多线程,是否需要HttpSession机能)
3粒度的选择和接口参数的选择
前面说的“传xml文件过去,返回一个xml文件“决定了是个粗粒度的接口
接口参数和返回值微javax.xml.transform.Source,它是一个xml文件的对象形式
4如何处理错误
应用异常和Server的异常
5如何公布你的WSDL文件
客户和你的服务是什么关系,如果你事先已经告诉了你的WSDL文件的位置,那么不用考虑这一点了---大部分情况是这样的.如果你的服务是面向大众的如果是了再说层的概念:分为交互层和业务层,交互层负责接收请求,形成返信,安全验证,有效性验证
数据缓存,业务层负责逻辑处理二接收请求
对接收的xml文件文件进行有效性验证(用你的Schema)
 只在系统边界验证(提高性能),把你的Schema缓存起来
对接收的xml文件文件进行安全验证三代理请求去业务逻辑层
如果你的业务逻辑层接收的是xml,那就直接传给业务层,如果业务逻辑层被设计为接收的是普通的对象。(建议后者,降低耦合性),你需要把xml转换为对象
你是直接把xml映射为对象还是先映射为一个内部的xml格式,根据需求考虑一下。
用到技术:把xml映射为对象->Java Architecture for XML Binding (JAXB),  把xml映射xml->TrAX (Transformation API for XML)四返回Response
把对象映射为xml->Java Architecture for XML Binding (JAXB),  五,安全上的考虑
传输层的安全,即采用Https
Servlet,EJB的安全机制利用
消息级别的安全:XML encryption, XML Digital Signature,SAML, XACML, XKMS…(根据采用服务器的支持状况)客户端的设计。
如果是Java以外的客户端,要用前面所说的WSDL-to-Java方式设计服务端
 如果是Java客户端
1, 客户端的访问类型Static Stub, Dynamic Proxy, DII
2,客户端的组件类型 J2EE,J2SE,J2ME 差不多就这么多了。