千家信息网

CXF动态客户端如何调用webservice实例

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下CXF动态客户端如何调用webservice实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用CXF
千家信息网最后更新 2026年11月02日CXF动态客户端如何调用webservice实例

小编给大家分享一下CXF动态客户端如何调用webservice实例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

使用CXF实现WebService,并在客户端实现动态调用编写服务器注意事项


注意 :不要指定
@SOAPBinding(style=Style.RPC, use=Use.LITERAL) 因为cxf 不支持:rpc、encoded,在动态客户调用过程。

cxf webservice开发资料,网上一搜大部分是类同的,跟官方的例子一样。
都是简单的静态调用例子。对动态调用的资料以及错误很少。本人被折腾了不行的情况下,
在一哥们的博客 http://hi.baidu.com/flierssp/item/2de0745c1afc1f3b32e0a96f 中看到动态调用不支持RPC才恍然大悟。
服务器端:
package com.rodjson.cxf;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
/*@SOAPBinding(style=Style.RPC, use=Use.LITERAL) 注意 :如果要动态调用一定要注释掉这句代码*/
public interface HelloWorld {
@WebMethod
String sayHi(@WebParam(name="text") String text);
}
package com.rodjson.cxf;
---HelloWorldImpl---
import javax.jws.WebService;

@WebService(endpointInterface="com.rodjson.cxf.HelloWorld",

serviceName="HelloWorld" )
public class HelloWorldImpl implements HelloWorld {

public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello " + text;
}

}

部署:
package com.rodjson.cxf;

import javax.xml.ws.Endpoint;

public class webServiceApp {
public static void main(String[] args) {
System.out.println("web service start");
HelloWorld implementor = new HelloWorldImpl();
String address = "http://localhost:8080/helloWorld";
Endpoint.publish(address, implementor);
System.out.println("web service end");
}

}
至于部署的方法网上很多,我就不提了,重点是动态客户端调用以及错误的识别

package com.rodjson.cxf;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class ClientObj {
public static void main(String[] args) {
JaxWsDynamicClientFactory factory =JaxWsDynamicClientFactory.newInstance();
Client client =factory.createClient("http://localhost:8080/cxf/services/HelloWorld?wsdl");
try {
Object[] obj =client.invoke("sayHi","xiao");
System.out.println("resp:"+obj[0]);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

错误如下:
2012-5-23 20:53:34 org.apache.cxf.common.jaxb.JAXBUtils logGeneratedClassNames

信息: Created classes:

javacTask: 无源文件

用法: javacTask

-help 用于列出可能的选项

2012-5-23 20:53:34 org.apache.cxf.endpoint.dynamic.DynamicClientFactory createClient

严重: Could not compile java files for http://127.0.0.1:9082/CrmWeb/services/CrmInterServer?wsdl.

以上是"CXF动态客户端如何调用webservice实例"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

动态 客户 客户端 篇文章 错误 实例 例子 内容 大部分 服务器 资料 支持 服务 不行 恍然大悟 一搜 不怎么 事项 代码 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 互联网金融科技 国智互联网科技 互联网金融监管科技数据 金融科技 互联网金融 互联网科技英文 互联网 的科技创新 互联网科技公司官网 上海万想互联网科技 互联网养老 桔豆科技 互联网科技公司的市场部门 济南华为互联网科技产业总部基地 宁波青枫互联网科技有限公司 常德市电业局互联网科技部 互联网经济与金融科技 电子科技大学互联网创业大赛 烟台灵鸽互联网科技有限公司 滨湖区互联网智能科技产品有哪些 江苏苏星互联网科技有限公司 济南小医互联网科技有限公司招聘 广州万易互联网科技有限公司 互联网科技金融公司 礼当家互联网科技 新华互联网科技校企合作 互联网科技产业特征 银川新华互联网科技学校联系电话 燊美集互联网科技有限公司 互联网风格科技公司名称 华人运通互联网科技公司 株洲百竞科技的互联网营销顾问
0