描述:一个学习平台study 地址192.168.1.100:8080/study ,一个管理平台manager 地址192.168.1.101:8080/manager。现在我想通过定时器将study平台今天的用户登录统计提交到管理平台,在这两个平台间要做一个webservice接口,但是对于webservice接口这块不太熟悉,我想知道的是学习平台怎么把数据同步到管理平台,求指点!!!!!!

解决方案 »

  1.   

    按照你的描述, manager 是服务端,需要开出接口,提供给学习平台调用 ;
    一般构建webservice现在都用CXF 。
    不知道你们的架构用spring没,用的话下面的代码就OK 了。。
    manager端的接口类:@WebService(name = "IHelloWord", targetNamespace = "http://helloword.hong.com/")
    @XmlAccessorType(XmlAccessType.FIELD)
    public interface IHelloWordWebService {
    @WebMethod(operationName = "sayHelloWord", action = "")
    @WebResult(name = "return", targetNamespace = "")
    String sayHelloWord(@WebParam(name = "name", targetNamespace = "")String name );
    }manager端的接口实现类:public class HelloWordWebServiceImpl implements IHelloWordWebService{ @Override
    public String sayHelloWord(String name) {
    return name + "说:世界你好~打到小日本。";
    }}manager端 开出接口服务(spring配置):<bean id="helloWordWebService" class="com.hong.webservice.helloword.impl.HelloWordWebServiceImpl"/>
    <jaxws:endpoint id="helloWordWs" implementor="#helloWordWebService" address="/helloWordWs" />  
    客户端 学习平台调用:
    spring配置: <!-- helloword  -->
    <bean id="helloWordWebService" class="com.hong.webservice.helloword.IHelloWord" 
    factory-bean="helloWordWebServiceFactory" factory-method="create" scope="singleton"/>
    <bean id="helloWordWebServiceFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
    <property name="serviceClass" value="com.hong.webservice.helloword.IHelloWord" />
    <property name="address" value="http://localhost:8080/TestWebService/services/helloWordWs" />
    </bean>
    同样的客户端也要用个接口类于服务端匹配:@WebService(name = "IHelloWord", targetNamespace = "http://helloword.hong.com/")
    @XmlAccessorType(XmlAccessType.FIELD)
    public interface IHelloWord {
    public String sayHelloWord(String name) ;

    }
    客户端接口实现累:public class HelloWord implements IHelloWord { @Override
    public String sayHelloWord(String name) {
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-cxf-client.xml");
    IHelloWord helloWordBean = (IHelloWord)context.getBean("helloWordWebService");
    return helloWordBean.sayHelloWord(name);//调用 服务端提供的接口方法
    }



    public static void main(String[] args) {
    HelloWord helloword =  new HelloWord();
    System.out.println(helloword.sayHelloWord("小红"));
    }
    }
    配置搭建完毕!!!!!其实很简单的,,,, 实在不会我给你例子,,CXF集成sping的。  具体实现原理就需要你自己研究了,,SAOP WSDL之类的协议 规则
      

  2.   

    要例子联系哥们。。[email protected]  ,,
      

  3.   

    顶下,是这么个意思,在manager端开发一个webservice服务端给study用,study针对这个wsdl生成一个客户端调用就行了,我们一般都是CXF开发的webservice