项目 >> SOAP >> XFire

spring+xfire+webservice+helloworld

 由于我们网站的sso系统要实行夸语言,跨服务器的特点,按照领导的指示
要用webService 我就google找了一下关于webService的资料,发现webService还非常复杂,自然我只能最简单的办法来搞了,找了近一个小时,终于在一个老外的网站上看到了关于xfire插件支持java,最重要的是支持spring框架而且非常简单就实现了功能,好在简单提示英语只有初中水平就可以看懂,要不以我这我英语水平是根本看不懂的,我把例子download下来后查看代码,发现老外还是非常友好的代码在ecilpse下打包后直接在tomcat发布就ok了,和想像的结果一样
我就不这webService的例子拿出来和大家分享了。

Echo.java
package org.codehaus.xfire.spring.example;
public interface Echo{
    String echo(String in);
}
EchoImpl.java
package org.codehaus.xfire.spring.example;
public class EchoImpl  implements Echo{
    public String echo(String in){
        return in;
    }
}
applicationContext.xml
<?xml version=1.0 encoding=UTF-8?>
<beans>
    <bean id=echoBean class=org.codehaus.xfire.spring.example.EchoImpl/>
</beans>
这上面的就最简单的spring IoC 下helloworld的例子
这文件xfire-servlet.xml配置是关键:
xfire-servlet.xml
<?xml version=1.0 encoding=UTF-8?>
<beans>
    <bean class=org.springframework.web.servlet.handler.SimpleUrlHandlerMapping>
        <property name=urlMap>
            <map>
                <entry key=/EchoService>
                    <ref bean=echo>
                </entry>
            </map>
        </property>
    </bean>
    <bean id=echo     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=echoBean
        </property>
        <property name=serviceClass>
            <value>org.codehaus.xfire.spring.example.Echo</value>
        </property>
    </bean>
</beans>
接下来是客户端的test就更简单了
客户端

applicationContext-client.xml
<?xml version=1.0 encoding=UTF-8?>
<beans>
<beanid=testWebService class=org.codehaus.xfire.spring.remoting.XFireClientFactoryBean>
      <property name=serviceClass>
         <value>org.codehaus.xfire.spring.example.Echo</value>[来源 www.iocblog.net]
      </property>
      <property name=wsdlDocumentUrl>
        <value>http://127.0.0.1:8080/xfire/EchoService?wsdl</value>
      </property>
     </bean>
<beans>
package test;
import java.util.*;
import junit.framework.TestCase;
import org.codehaus.xfire.spring.example.*;
public class WebServiceClientTest extends TestCase {
Echo echo=null;
static {
ApplicationContextFactory.init(/test/applicationContext-client.xml);
}
public static void main(String[] args) {
junit.swingui.TestRunner.run(PlayContextDaoTest.class);
}
protected void setUp() throws Exception {
echo=(Echo)ApplicationContextFactory.getApplicationContext().getBean(testWebService);
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public  void testCilient(){
   System.out.print(echo.echo(haoha i haohao));
}
}



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。

相关项目