﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-天空是蓝色的</title><link>http://www.blogjava.net/bluesky/</link><description>做好软件为中国
#gcc -c helloworld.c -o helloworld.o //编译目标文件
#gcc helloworld.o -o helloworld //编译成可执行exe
#helloworld //运行exe</description><language>zh-cn</language><lastBuildDate>Sat, 11 Jul 2026 06:23:14 GMT</lastBuildDate><pubDate>Sat, 11 Jul 2026 06:23:14 GMT</pubDate><ttl>60</ttl><item><title>契约式开发webservice实践之spring-ws+Xmlbeans</title><link>http://www.blogjava.net/bluesky/archive/2008/09/19/Writing_Contract-First_Web_Services_Use_Spring-ws_and_Xmlbeans.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Fri, 19 Sep 2008 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2008/09/19/Writing_Contract-First_Web_Services_Use_Spring-ws_and_Xmlbeans.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/230022.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2008/09/19/Writing_Contract-First_Web_Services_Use_Spring-ws_and_Xmlbeans.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/230022.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/230022.html</trackback:ping><description><![CDATA[<p>契约式开发webservice实践之spring-ws+Xmlbeans<br />
1、开发环境<br />
JDK1.4.2.*<br />
Tomcat6.0.*<br />
Spring-2.5.5<br />
Spring-ws-1.5.4<br />
XmlBeans-2.3</p>
<p><br />
2、确定需要请求和应答的xml实例<br />
Request.xml</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;wl_request&nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;&nbsp; xmlns="http://footmarktech.com/samples"&gt;<br />
&lt;flights&gt;<br />
&nbsp;&lt;flight&gt;&lt;segment&gt;PEK-CAN&lt;segment&gt;&lt;ticketNo&gt;7841234656&lt;/ticketNo&gt;&lt;/flight&gt;<br />
&nbsp;&lt;flight&gt;&lt;segment&gt;PEK-CAN&lt;segment&gt;&lt;ticketNo&gt;7841234656&lt;/ticketNo&gt;&lt;/flight&gt;<br />
&lt;/flights&gt;<br />
&lt;/wl_request&gt;</p>
<p>Response.xml</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;wl_response&nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;&nbsp;&nbsp; xmlns="http://footmarktech.com/samples"&gt;<br />
&lt;flights&gt;<br />
&nbsp;&lt;flight&gt;&lt;segment&gt;PEK-CAN&lt;segment&gt;&lt;ticketNo&gt;7841234656&lt;/ticketNo&gt;&lt;/flight&gt;<br />
&nbsp;&lt;flight&gt;&lt;segment&gt;PEK-CAN&lt;segment&gt;&lt;ticketNo&gt;7841234656&lt;/ticketNo&gt;&lt;/flight&gt;<br />
&lt;/flights&gt;<br />
&lt;/wl_response&gt;</p>
<p>3、设置XmlBeans环境<br />
设置XMLBEANS_HOME<br />
并将 %XMLBEANS_HOME%/bin增加到path路径中</p>
<p>4、使用xmlbeans tool准备数据契约xsd<br />
根据上一步骤请求和应答的实例xml执行如下命令<br />
inst2xsd -enumerations never Request.xml Response.xml<br />
将生成的schema0.xsd文件命名为 Airline.xsd</p>
<p>将 Airline.xsd放在 ${web-context}/WEB-INF目录下<br />
5、使用xmlbeans tool生成OXM数据映射对象<br />
需要说明的是这些对象是跟Xmlbeans耦合比较紧的,不是POJO<br />
执行如下命令<br />
scomp -out Airline.jar Airline.xsd</p>
<p>6、准备运行时和编译时jar包</p>
<p><br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/acegi-security-1.0.7.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/activation-1.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/antlr-2.7.7.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/aopalliance-1.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/axiom-api-1.2.6.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/axiom-dom-1.2.6.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/axiom-impl-1.2.6.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/backport-util-concurrent-3.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/bsf-2.3.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/cglib-nodep-2.1_3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-beanutils-1.7.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-codec-1.3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-collections-3.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-configuration-1.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-digester-1.8.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-discovery-0.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-el-1.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-fileupload-1.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-httpclient-3.0.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-io-1.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-lang-2.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-logging-1.1.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-net-1.2.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-pool-1.3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/commons-validator-1.3.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/concurrent-1.3.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/dom4j-1.6.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/ehcache-1.2.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/ezmorph-1.0.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/groovy-all-1.5.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/hibernate-3.2.6.ga.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/hsqldb-1.8.0.7.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/icu4j-3.4.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jasypt-1.4.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/javassist-3.6.ga.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jaxen-1.1.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jaxrpc-1.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jcaptcha-all-1.0-RC6.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jcr-1.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jdom-1.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/json-lib-2.2.1-jdk13.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/jta-spec1_0_1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/log4j-1.2.15.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/lucene-core-2.2.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/mail-1.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/mysql-connector-java-5.1.5-bin.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/ognl-2.7.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/oro-2.0.8.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/oscache-2.4.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/pdfbox-0.6.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/poi-3.0.1-FINAL-20070705.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/poi-contrib-3.0.1-FINAL-20070705.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/poi-scratchpad-3.0.1-FINAL-20070705.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/proxool-0.9.0RC3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/serializer-2.7.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/slf4j-api-1.4.3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/slf4j-log4j12-1.4.3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/spring-2.5.5.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/stax-api-1.0.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/wsdl4j-1.6.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/wstx-asl-3.2.3.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xalan-2.7.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xercesImpl-2.8.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xfire-all-1.2.6.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xml-apis-1.3.04.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xom-1.1.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xpp3_min-1.1.3.4.0.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/xstream-1.2.2.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/axis-saaj-1.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/axis-1.4.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/spring-oxm-1.5.4.jar" sourcepath="D:/maven-1.0.2/.maven/repository/springframework/srcs/spring-ws-1.5.4-with-dependencies.zip"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WEB-INF/lib/spring-webmvc-2.5.5.jar"/&gt;<br />
&nbsp;&lt;classpathentry kind="lib" path="web/src/context/WE