我的页面有一个同步数据的按键,点击以后跳到一个action里面。是不是我直接在执行的方法里面调用webservice就可以直接拿到远程系统执行方法后返回的值?webservice里面执行的是不是指在服务端执行的方法?我还不太了解webservice的流程,哪位前辈给我讲讲。下面是具体代码:
@Autowired
private SipSubjectWebService sipSubjectWS;这个是webservice的服务类,用来获得远程的数据
public void synchronizeSipSubjects() {
GetSipSubjectResult result = sipSubjectWS.getAllSipSubject();
List<SipSubject> sipSubjects = new ArrayList<SipSubject>();
List<SipSubjectDTO> dtos = result.getSipSubjectlist();
for (SipSubjectDTO dto : dtos) {
SipSubject subject = dozer.map(dto, SipSubject.class);
sipSubjects.add(subject);
}
if (sipSubjects.size() > 0) {
sipSubjectmanager.saveSipSubjectResult(sipSubjects);
}
}这个是action里面我要执行的方法,拿到返回的值后存入本地数据库,可以这样理解吗?还是我搞错了,请指出

解决方案 »

  1.   

    没错,就在action里调webservice就可以
      

  2.   

    再补充一个问题:是不是只要在spring配置文件中为webservice指定url它就可以知道要连到哪个服务端调用该webservice里面的方法了?下面是我的配置文件<bean id="..ServiceFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
    <property name="serviceClass" value="com....WebService" />
    <property name="address" value="http://localhost:8080/.../../webservice" />
    <property name="outInterceptors">
    <list>
    <bean class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
    <ref bean="wss4jOutConfiguration" />
    </list>
    </property>
    </bean>