java调用vb.net java调用https跳过证书( 六 )


!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
""
beans
!-- 引入XFire预配置信息 --
import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /
!—定义访问的url--
bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
property name="urlMap"
map
entry key="/HelloWorldService.ws"
ref bean="HelloWorldService" /
/entry
/map
/property
/bean
!-- 使用XFire导出器 --
bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true"
!-- 引用xfire.xml中定义的工厂 --
property name="serviceFactory" ref="xfire.serviceFactory" /
!-- 引用xfire.xml中的xfire实例 --
property name="xfire" ref="xfire" /
/bean
bean id="HelloWorldService" parent="baseWebService"
!-- 业务服务bean --
property name="serviceBean" ref="HelloWorldBean" /
!-- 业务服务bean的窄接口类 --
property name="serviceClass" value="https://www.04ip.com/post/webservice.HelloWorld" /
/bean
/beans
在 上面的配置中,我们可以看到,在该配置文件中引入了xfire.xml这个Spring配置文件 。它是在XFire核心JAR包中拥有一个预定义的 Spring配置文件 , 它定义了XFire在Spring中必须用到的一些Bean和资源,需要引入这个预定义的配置文件 。从该配置文件中可以看出 , 我们 通过XFireExporter将业务类导出为Web Service , 对于任何导出器,我们都需要引入XFire环境,即serviceFactory和xfire,这是标准的配置 。ServiceFactory是XFire的核心类,它可以将一个POJO生成为一个Web Service 。
在本实例中,我们通过定义一个baseWebService,其余的webService配置都将该bean作为父bean,这样可以简化Spring的配置,不需要多次引入serviceFactory和xfire 。
3. Web Service的测试
在上一步操作完成之后,我们的这个简单的Web Service已经编写完毕,下面让我们来看看自己的劳动成果吧 。
在浏览器中输入地址:,我们可以看到HelloWorldService对应的WSDL信息,阅读这个WSDL文档,我们可以知道HelloWorld的sayHelloWorld方法已经被成功地发布为Web Service了 。只要拿到这个WSDL就可以开发相应的客户端调用程序了 。
XFire为访问服务端Web Service提供了各种方便的方式:我们一般根据服务地址和窄接口类创建客户调用程序 。
在不能获得服务窄接口类的情况下,XFire允许我们通过WSDL文件生成客户端调用程序,通过指定服务接口的方式调用服务 。
1)通过WSDL文件生成客户端调用程序
首先我们通过我们可以获得WSDL文件HelloWorldService.wsdl,并将其放在src目录下面,接着我们通过程序访问该WSDL文件,并调用需测试的方法 。此时测试类WebServiceClientTest.java的内容如下所示:
package test;
import org.codehaus.xfire.client.Client;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import webservice.HelloWorld;
/** *//**
*Copyright2007GuangZhouAmigo.
*Allrightreserved.
*HelloWorld的webservice的测试类.
*@authora href="mailto:xiexingxing1121@126.com"AmigoXie/a
*@version1.0
*Creationdate:2007-9-16-下午05:36:05
*/
publicclass WebServiceClientTest {
HelloWorld helloWorld = null;
publicstaticvoid main(String[] args) throws Exception {
WebServiceClientTest test = new WebServiceClientTest();
test.testClient();
}
publicvoid testClient() throws Exception {
String wsdl = "HelloWorldService.wsdl"; //对应的WSDL文件
Resource resource = new ClassPathResource(wsdl);
Client client = new Client(resource.getInputStream(), null); //根据WSDL创建客户实例

推荐阅读