使用eclipes的xfire插件,生成了Webservice的客户端代码
在调用时,报错,具体代码如下
调用client的TestClient代码
HelloWordServiceClient service=new HelloWordServiceClient();
HelloWordServicePortType type=service.getHelloWordServiceHttpPort();
System.out.println(type.sayHello("123"));
HelloWordServiceClient 类中的create0方法中报错,代码如下,错误行已在代码中标出:
/**
*
*以下为出错的方法
*/
private void create0() {
TransportManager tm = (org.codehaus.xfire.XFireFactory.newInstance().getXFire().getTransportManager());
HashMap props = new HashMap();
props.put("annotations.allow.interface", true);
AnnotationServiceFactory asf = new AnnotationServiceFactory(new Jsr181WebAnnotations(), tm, new AegisBindingProvider(new JaxbTypeRegistry()));
asf.setBindingCreationEnabled(false);
service0 = asf.create((com.tongtech.bjvsp.client.HelloWordServicePortType.class), props);//此处出错,提示HelloWordServicePortType不能为抽象类
{
AbstractSoapBinding soapBinding = asf.createSoap11Binding(service0, new QName("http://webservicedemo.rubyeye.net", "HelloWordServicePortTypeLocalBinding"), "urn:xfire:transport:local");
}
{
AbstractSoapBinding soapBinding = asf.createSoap11Binding(service0, new QName("http://webservicedemo.rubyeye.net", "HelloWordServiceHttpBinding"), "http://schemas.xmlsoap.org/soap/http");
}
}
报错信息如下:
Exception in thread "main" org.codehaus.xfire.annotations.AnnotationException: Service class cannot be abstract: com.tongtech.bjvsp.client.HelloWordServicePortType
at org.codehaus.xfire.annotations.AnnotationServiceFactory.assertValidImplementationClass(AnnotationServiceFactory.java:268)
at org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:177)
at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:284)
at com.tongtech.bjvsp.client.HelloWordServiceClient.create0(HelloWordServiceClient.java:59)
at com.tongtech.bjvsp.client.HelloWordServiceClient.<init>(HelloWordServiceClient.java:26)
at com.tongtech.bjvsp.testclient.TestClient.main(TestClient.java:14)
由于客户端的代码是自动生成,所以不知哪里有问题,还是我在写服务器端代码时出了错?
因为是根据wsdl生成的客户端代码,因此我认为服务端应该不存在问题。
本人对于xfire不是十分熟悉,希望指点一二,谢谢
分享到:
相关推荐
xfire根据WSDL生成客户端代码.rar
xfire客户端生成自动生成java代码调用
xfire开发webservice与调用 用起来比axis简单,容易上手。没有axis那么复杂。性能也比axis好。附件里面包含教程文档及实例代码
xfire 插件 wsdl生成 工作的地方不能上网更新 xfire 插件 wsdl生成 工作的地方不能上网更新
xfire客户端eclipse插件....非常有用
xfire实现的实例和远程调用的客户端代码
Xfire客户端调用webservice接口所需 jar包,亲测可用。
xfire web service调用代码
xfire,服务端和客户端实现 xfire调用webservice
xfire webserivce客户端 jar
cxf_axis_xfire客户端调用的几种方法[收集].pdf
NULL 博文链接:https://zhaoshijie.iteye.com/blog/784065
webservice服务,使用Xfire框架调用服务的常见客户端代码
webservice ixfir 客户端端开发 对象传递使webservice开发更加简单快捷
WebService经典24篇网文汇总,包含axis2_Xfire搭建_WSDL详解_自动生成客户端和WSDL等,自己找了好久的内容; 都是自己学习过程中网络的知识,找了很久,里边有一些自己的标记,如果发现chm内容是空白,注意看一下,其实是...
提供客户端调用xfire开发的webservice接口详细过程;同时提供调用xfire依赖的jar包。适合新手~
xfire框架构建webservice应用: (通过myeclipse自动生成代码,自动导入xfire jar包,需要用jdk5.0) 需要的jar包:xFire 1.2 Core Libraries/xFire 1.2 HTTP Client Libraries/xFire 1.2 JAXB2 Libraries
使用xfire开发webservice的客户端需要的完整jar包,直接导入开放就可以用了。使用Xfire构建JAVA的webService全过程(从服务端到客户端)
xfire创建服务端客户端源码,包括了里面的jar,我的运行环境是jdk1.7和tomcat6,jdk1.6也试过,是可以的。
此程序demo详细描述的从发布接口到调用接口的全部过程,详细描述了Xfire调用webservice参数无法传递的问题。