`

CXF 生成客户端代码

阅读更多

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生成客户端 服务端代码

    cxf生成客户端 服务端代码

    CXF生成ws客户端代码

    WSDL文件通常由服务提供商提供,消费者可以根据这些文件生成客户端代码以调用服务。 ##### 2. “wsdl2java”工具 CXF中的“wsdl2java”工具可以解析WSDL文件,并生成相应的Java类,包括服务客户端所需的代理类和...

    cxf客户端所需jar包-4个

    1. 使用wsdl2java工具生成客户端代码,基于提供的WSDL。 2. 引入必要的CXF库,包括上述四个JAR文件。 3. 实例化服务代理并调用相应的服务方法。 4. 处理返回的结果,通常是Java对象或XML响应。 总的来说,Apache ...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    在IT行业中,Spring Boot是一个非常流行的...4. 使用CXF生成客户端代码。 5. 在客户端应用中创建代理对象并调用服务。 通过这种方式,你可以构建安全、可靠的Web服务,并在Spring Boot环境中轻松地进行客户端调用。

    idea + spring4.3.7.RELEASE+cxf3.1.0整合+客户端调用

    "cxfclinet.rar"则可能包含了客户端的相关代码,如生成的代理类和调用示例。 总结来说,"idea + spring4.3.7.RELEASE + cxf3.1.0"的整合项目涵盖了企业级Java应用开发的关键技术点:Spring框架的使用、Maven项目的...

    xfire根据WSDL生成客户端代码

    本文将详细介绍如何使用XFire根据WSDL文件生成客户端代码,以便快速地与Web服务进行交互。 首先,我们需要了解WSDL文件的结构。一个WSDL文件通常包含以下关键元素: 1. **服务(Service)**:定义服务的位置,即...

    CXF客户端,自动生成方式

    5. **生成客户端代码**:点击“Finish”,MyEclipse会解析WSDL,并自动生成与Web服务交互所需的客户端代码,包括服务代理类和服务接口。 6. **使用CXF客户端**:生成的客户端代码可以直接在你的项目中使用。通过...

    cxf wsdl生成工具

    cxf java代码生成 wsdl文件 ,wsdl文件生成 java代码,相关博文: http://blog.csdn.net/dream_broken/article/details/35331949

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    cxf生成webservice客户端

    这是生成客户端代码的起点。WSDL文件是XML文档,包含了关于服务的所有必要信息。 2. **运行CXF的wsdl2java工具**:CXF提供了命令行工具`wsdl2java`,它可以将WSDL文件转换为相应的Java类。这些类包含了调用Web服务...

    cxf生成onvif客户端

    3. **生成客户端代码**:使用CXF的wsdl2java工具,将ONVIF服务的WSDL文件转换为Java客户端代码。这个过程会生成一系列的Java类,包括服务代理和服务接口。命令行示例: ``` wsdl2java -d src/main/java -client ...

    cxf的webservice的客户端代码

    通过以下命令,我们可以从WSDL生成客户端代码: ```bash java -jar cxf-codegen-plugin.jar wsdl2java -d src/main/java http://example.com/service?wsdl ``` 在描述中提到了“生成了xml字符串并进行传递”,这...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    这个工具能够从WSDL(Web Service Description Language)文件自动生成Java客户端代码,使得开发者可以轻松地调用远程Web服务。使用命令行,开发者只需指定WSDL文件的位置和一些选项,CXF就会自动创建所需的客户端类...

    CXF实例源代码(客户端)

    CXF使用WSDL2Java工具从WSDL生成Java客户端代码,这些代码可以直接被应用程序使用。 3. **调用Web服务**:生成的客户端代码通常包括一个服务代理类,该类提供了调用服务方法的接口。通过实例化这个代理类并调用其...

    开发CXF JAVA客户端

    3. **生成客户端代码**:如果已经有了服务端的WSDL(Web Service Definition Language)文件,我们可以使用CXF的WSDL2Java工具生成客户端代码。在命令行中,执行如下命令: ``` wsdl2java -d src/main/java ...

    cxf 生成java代码的执行命令

    - `-client`: 表示要生成客户端代码。 - `-server`: 表示要生成服务器端代码。 - `wsdl`: 指定WSDL文件的位置。 #### 示例命令分析 1. **客户端代码生成示例**: ```bat wsdl2java.bat -autoNameResolution -...

    CXF客户端添加soapHeader代码 + jar包 + apache-cxf-3.1.15

    本示例将详细介绍如何在CXF客户端中添加SOAP Header,并提供所需的jar包和代码片段。 首先,我们需要了解SOAP Header的作用。SOAP Header是SOAP消息的一个组成部分,它允许传递非处理信息,如认证、会话管理等。在...

    cxf开发webservice客户端

    3. **使用CXF生成客户端代码** - **命令行方式**:通过CXF的wsdl2java命令,可以将WSDL转换为Java代码。例如: ``` cxf-codegen-plugin -wsdlLocation ...

    wsdl生成服务的客户端调用代码

    例如,在Java中,可以使用Apache CXF或JAX-WS的wsimport工具来生成客户端代码。在.NET框架下,Visual Studio或svcutil.exe工具能完成相同的工作。对于Python,Suds库是一个常见的选择。 在给定的压缩包中,有一个名...

Global site tag (gtag.js) - Google Analytics