CXF 生成客户端代码
详情参见:
ECLIPSE+CXF http://blog.csdn.net/segen_jaa/article/details/12947305点击打开链接
设置环境变量
set CXF_HOME=D:\apache-cxf-2.3.5 //设置cxf根目录,此步可省
set JAVA_HOME=D:\Java\jdk1.6.0//设置jdk 目录
客户端生成
1、先下载cxf包
http://cxf.apache.org/download.html,现在cxf包。点击打开链接
2、解压缩包,通过cmd命令进入到bin目录下
然后命令生成 :wsdl2java -p 包名 -d 生成文件存放的目录(必须存在) -client http://IP:端
口/XX/XXService?wsdl
-p不指定时会根据名称空间自动生成,所以一般不指定
cxf会自动生成clent示例代码
比较:
JDK生成客户端
wsimport -d /workspace/webservice/ -keep -verbose http://IP:端口/XX/XXService?wsdl
举例:--常用命令(天气)
wsdl2java -p com.xiangyang.weather.service.impl.client
常用命令
-d F:\webservice -client http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
注意:
-------------------------------------------------------------------------------------------------------
生成的客户端有时候在框架类调用父类的构造函数时会报错
如:
CheckI****Service
public CheckI****ServicePortType getCheckI****ServiceHttpPort(WebServiceFeature... features) {
return super.getPort(CheckI****ServiceHttpPort, CheckI****ServicePortType.class, features);
}
报错的原因为jax-ws2.2规约与java6冲突 故需要降低jax-ws规约版本
解决办法是在生成的命令中加入-frontend jaxws21
加入后命令如下: wsdl2java -frontend jaxws21 -d E:\zkr\project\client\src -client d:/Test.wsdl
通过java调用.net生成的wsdl时,需要将wsdl文件中的<s:element ref="s:schema" ></s:element><s:any ></s:any> 替换为 <s:any minOccurs="2" maxOccurs="2" ></s:any>
1.在浏览器中打开webservice url,保存wsdl文件,如ContentService.xml
2.通过cxf命令“wsdl2java –d E:/file –frontend jaxws21 –client C:\ ContentService.xml”生成客户端代码
3.若报WSDLToJava Error: Thrown by JAXB : undefined simple or complex type 'soap-enc:Array' ,
则需要在生成的文件中找到
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />,
在浏览器中打开http://schemas.xmlsoap.org/soap/encoding/,
保存文件soap-encoding.xsd,
然后修改成<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="soap-encoding.xsd"/>,
再运行上面的命令即可。
4.如果需要NTLM认证,则需在代码中加入如下的代码:
Java代码 收藏代码
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
http.getAuthorization().setAuthorizationType("NTLM");
http.getAuthorization().setUserName("xxxx");
http.getAuthorization().setPassword("xxxxx");
------------------------------------------------------------------------------------------------------
简单调用示例:
public static void main(String[] args) {
OpenApupProductService iApupProductService = new OpenApupProductServiceImplService().getOpenApupProductServiceImplPort();
ApupProductAll apa=iApupProductService.getProduct("NET001bba5ba711f3247a78a2693783dfe4fba");
System.out.println(apa.getApupProduct().getValue().getPid().getValue());
}
相关推荐
cxf生成客户端 服务端代码
WSDL文件通常由服务提供商提供,消费者可以根据这些文件生成客户端代码以调用服务。 ##### 2. “wsdl2java”工具 CXF中的“wsdl2java”工具可以解析WSDL文件,并生成相应的Java类,包括服务客户端所需的代理类和...
1. 使用wsdl2java工具生成客户端代码,基于提供的WSDL。 2. 引入必要的CXF库,包括上述四个JAR文件。 3. 实例化服务代理并调用相应的服务方法。 4. 处理返回的结果,通常是Java对象或XML响应。 总的来说,Apache ...
在IT行业中,Spring Boot是一个非常流行的...4. 使用CXF生成客户端代码。 5. 在客户端应用中创建代理对象并调用服务。 通过这种方式,你可以构建安全、可靠的Web服务,并在Spring Boot环境中轻松地进行客户端调用。
"cxfclinet.rar"则可能包含了客户端的相关代码,如生成的代理类和调用示例。 总结来说,"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合项目涵盖了企业级Java应用开发的关键技术点:Spring框架的使用、Maven项目的...
本文将详细介绍如何使用XFire根据WSDL文件生成客户端代码,以便快速地与Web服务进行交互。 首先,我们需要了解WSDL文件的结构。一个WSDL文件通常包含以下关键元素: 1. **服务(Service)**:定义服务的位置,即...
5. **生成客户端代码**:点击“Finish”,MyEclipse会解析WSDL,并自动生成与Web服务交互所需的客户端代码,包括服务代理类和服务接口。 6. **使用CXF客户端**:生成的客户端代码可以直接在你的项目中使用。通过...
cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949
使用cxf wsdl2java生成webservice客户端命令
这是生成客户端代码的起点。WSDL文件是XML文档,包含了关于服务的所有必要信息。 2. **运行CXF的wsdl2java工具**:CXF提供了命令行工具`wsdl2java`,它可以将WSDL文件转换为相应的Java类。这些类包含了调用Web服务...
3. **生成客户端代码**:使用CXF的wsdl2java工具,将ONVIF服务的WSDL文件转换为Java客户端代码。这个过程会生成一系列的Java类,包括服务代理和服务接口。命令行示例: ``` wsdl2java -d src/main/java -client ...
通过以下命令,我们可以从WSDL生成客户端代码: ```bash java -jar cxf-codegen-plugin.jar wsdl2java -d src/main/java http://example.com/service?wsdl ``` 在描述中提到了“生成了xml字符串并进行传递”,这...
这个工具能够从WSDL(Web Service Description Language)文件自动生成Java客户端代码,使得开发者可以轻松地调用远程Web服务。使用命令行,开发者只需指定WSDL文件的位置和一些选项,CXF就会自动创建所需的客户端类...
CXF使用WSDL2Java工具从WSDL生成Java客户端代码,这些代码可以直接被应用程序使用。 3. **调用Web服务**:生成的客户端代码通常包括一个服务代理类,该类提供了调用服务方法的接口。通过实例化这个代理类并调用其...
3. **生成客户端代码**:如果已经有了服务端的WSDL(Web Service Definition Language)文件,我们可以使用CXF的WSDL2Java工具生成客户端代码。在命令行中,执行如下命令: ``` wsdl2java -d src/main/java ...
- `-client`: 表示要生成客户端代码。 - `-server`: 表示要生成服务器端代码。 - `wsdl`: 指定WSDL文件的位置。 #### 示例命令分析 1. **客户端代码生成示例**: ```bat wsdl2java.bat -autoNameResolution -...
本示例将详细介绍如何在CXF客户端中添加SOAP Header,并提供所需的jar包和代码片段。 首先,我们需要了解SOAP Header的作用。SOAP Header是SOAP消息的一个组成部分,它允许传递非处理信息,如认证、会话管理等。在...
3. **使用CXF生成客户端代码** - **命令行方式**:通过CXF的wsdl2java命令,可以将WSDL转换为Java代码。例如: ``` cxf-codegen-plugin -wsdlLocation ...
例如,在Java中,可以使用Apache CXF或JAX-WS的wsimport工具来生成客户端代码。在.NET框架下,Visual Studio或svcutil.exe工具能完成相同的工作。对于Python,Suds库是一个常见的选择。 在给定的压缩包中,有一个名...