JAX-WS Web Service -春秋航空销售部分接口使用

栏目: 服务器 · 发布时间: 9年前

内容简介:JAX-WS Web Service -春秋航空销售部分接口使用

JAX-WS Web Service -春秋航空销售部分接口使用

春秋航空销售部分接口由于使用的是Web Service方式,只知道有这么一种接口类型,大多数我们还是用的RESTful Web Services,不过 java 已经实现了对应的标准接口:

jax-ws 、jax-rs。

对于服务的和客户端,java都支持 工具 一键生成,省下了很多时间。下面用java的命令wsimport 来生成春秋航空部分接口客户端代码。

wsimport命令的参数如下:(java 8 环境)

beaverdeMBP:~ beaver$ wsimport -h
无法识别的参数-h


用法: wsimport [options] <WSDL_URI>

\其中 [options] 包括:
  -b <path>                 指定 jaxws/jaxb 绑定文件或附加模式
                            (每个 <path> 都必须具有自己的 -b)
  -B<jaxbOption>            将此选项传递给 JAXB 模式编译器
  -catalog <file>           指定用于解析外部实体引用的目录文件
                            支持 TR9401, XCatalog 和 OASIS XML 目录格式。
  -d <directory>            指定放置生成的输出文件的位置
  -encoding <encoding>      指定源文件所使用的字符编码
  -extension                允许供应商扩展 - 不按规范
                            指定功能。使用扩展可能会
                            导致应用程序不可移植或
                            无法与其他实现进行互操作
  -help                     显示帮助
  -httpproxy:<host>:<port>  指定 HTTP 代理服务器 (端口默认为 8080)
  -keep                     保留生成的文件
  -p <pkg>                  指定目标程序包
  -quiet                    隐藏 wsimport 输出
  -s <directory>            指定放置生成的源文件的位置
  -target <version>         按给定的 JAXWS 规范版本生成代码
                            默认为 2.2, 接受的值为 2.0, 2.1 和 2.2
                            例如, 2.0 将为 JAXWS 2.0 规范生成兼容的代码
  -verbose                  有关编译器在执行什么操作的输出消息
  -version                  输出版本信息
  -wsdllocation <location>  @WebServiceClient.wsdlLocation 值
  -clientjar <jarfile>      创建生成的 Artifact 的 jar 文件以及
                            调用 Web 服务所需的 WSDL 元数据。
  -generateJWS              生成存根 JWS 实现文件
  -implDestDir <directory>  指定生成 JWS 实现文件的位置
  -implServiceName <name>   生成的 JWS 实现的服务名的本地部分
  -implPortName <name>      生成的 JWS 实现的端口名的本地部分

\扩展:
  -XadditionalHeaders              映射标头不绑定到请求或响应消息不绑定到
                                   Java 方法参数
  -Xauthfile                       用于传送以下格式的授权信息的文件: 
                                   http://username:password@example.org/stock?wsdl
  -Xdebug                          输出调试信息
  -Xno-addressing-databinding      允许 W3C EndpointReferenceType 到 Java 的绑定
  -Xnocompile                      不编译生成的 Java 文件
  -XdisableAuthenticator           禁用由 JAX-WS RI 使用的验证程序,
                                   将忽略 -Xauthfile 选项 (如果设置)
  -XdisableSSLHostnameVerification 在提取 wsdl 时禁用 SSL 主机名
                                   验证

\示例:
  wsimport stock.wsdl -b stock.xml -b stock.xjb
  wsimport -d generated http://example.org/stock?wsdl

beaverdeMBP:~ beaver$
主要参数有-generateJWS   -Xnocompile    -s    -p   :
beaverdeMBP:demo beaver$ wsimport -Xnocompile -generateJWS   -keep -p com.xx.airlines.springairlines   [wsdlUrl]
正在解析 WSDL...



正在生成代码...
[wsdlUrl] 为wsdl地址。

生成了很多接口实现代码:

beaverdeMBP:demo beaver$ tree 
.
       └── com
            └── xxx
                └── airlines
                    └── springairlines
                        ├── AirportCityInfo.java
                        ├── ApplyReturnTicket.java
                        ├── ApplyReturnTicket2.java
                        ├── ApplyReturnTicket2Response.java
                        ├── ApplyReturnTicketInputBean.java
                        ├── ApplyReturnTicketResponse.java
                        ├── ApplyReturnTicketResultBean.java
                        ├── ApplyReturnTicketResultBean2.java
                        ├── BgFlightInfo.java
                        ├── BgPairInfo.java
                        ├── BgSeatInfo.java
                        ├── BookOrder.java
                        ├── BookOrderBookBean.java
                        ├── BookOrderResponse.java
                        ├── BookOrderResultBean.java
                        ├── BookSubProdBatch.java
                        ├── BookSubProdBatchInputBean.java
                        ├── BookSubProdBatchResponse.java
                        ├── BookSubProdBatchResultBean.java
                        ├── CalcRetTktFee.java
                        ├── CalcRetTktFeeInputBean.java
                        ├── CalcRetTktFeeResponse.java
                        ├── CalcRetTktFeeResultBean.java
                        ├── CancelFlightBgApp.java
                        ├── CancelFlightBgAppInputBean.java
                        ├── CancelFlightBgAppResponse.java
                        ├── CancelFlightBgAppResultBean.java
                        ├── CancelOrder.java
                        ├── CancelOrderInputBean.java
                        ├── CancelOrderResponse.java
                        ├── CancelOrderResultBean.java
                        ├── CommonInParameter.java
                        ├── CommonOutParameter.java
                        ├── CountryAreaInfo.java
                        ├── FlightBasicInfo.java
                        ├── FlightBgAppBasicInfo.java
                        ├── FlightBgAppHeadInfo.java
                        ├── FlightBgAppInfo.java
                        ├── FlightEndPointInfo.java
                        ├── FlightInfo.java
                        ├── FlightInfo2.java
                        ├── FlightSeatNoBean.java
                        ├── FlightSeatsInfoBean.java
                        ├── FlightTimeInfo.java
                        ├── GetBeanOfReceptionFlights.java
                        ├── GetCountryAreaCode.java
                        ├── GetCountryAreaCodeResponse.java
                        ├── GetCountryAreaCodeResultBean.java
                        ├── GetCountryAreaCodeSearchBean.java
                        ├── GetFlightBgApp.java
                        ├── GetFlightBgAppInputBean.java
                        ├── GetFlightBgAppResponse.java
                        ├── GetFlightBgAppResultBean.java
                        ├── GetFlightSeats.java
                        ├── GetFlightSeatsResponse.java
                        ├── GetFlightsCanBg.java
                        ├── GetFlightsCanBgInputBean.java
                        ├── GetFlightsCanBgResponse.java
                        ├── GetFlightsCanBgResultBean.java
                        ├── GetKeguiTotalDescription.java
                        ├── GetKeguiTotalDescription2.java
                        ├── GetKeguiTotalDescription2Response.java
                        ├── GetKeguiTotalDescriptionInputBean.java
                        ├── GetKeguiTotalDescriptionResponse.java
                        ├── GetKeguiTotalDescriptionResultBean.java
                        ├── GetMoneyClass.java
                        ├── GetMoneyClassResponse.java
                        ├── GetMoneyClassResultBean.java
                        ├── GetMoneyClassSearchBean.java
                        ├── GetOrderDetailInfo.java
                        ├── GetOrderDetailInfoQueryBean.java
                        ├── GetOrderDetailInfoResponse.java
                        ├── GetOrderDetailInfoResultBean.java
                        ├── GetOrderSumInfo.java
                        ├── GetOrderSumInfoQueryBean.java
                        ├── GetOrderSumInfoResponse.java
                        ├── GetOrderSumInfoResultBean.java
                        ├── GetOtherFyDetail.java
                        ├── GetOtherFyDetailInputBean.java
                        ├── GetOtherFyDetailResponse.java
                        ├── GetOtherFyDetailResultBean.java
                        ├── GetRetBeanOfQueryFlightSeatNo.java
                        ├── GetRetFlightSeatsBean.java
                        ├── GetSpecificPrice.java
                        ├── GetSpecificPriceInputBean.java
                        ├── GetSpecificPriceResponse.java
                        ├── GetSpecificPriceResultBean.java
                        ├── GetSubProdBooked.java
                        ├── GetSubProdBookedResponse.java
                        ├── GetSubProdBookedResultBean.java
                        ├── GetSubProdBySeg.java
                        ├── GetSubProdBySegInputBean.java
                        ├── GetSubProdBySegResponse.java
                        ├── GetSubProdBySegResultBean.java
                        ├── GetSubProdByTkt.java
                        ├── GetSubProdByTktResponse.java
                        ├── GetTravelBaoJiDetailInfo.java
                        ├── GetTravelBaoJiDetailInfoQueryBean.java
                        ├── GetTravelBaoJiDetailInfoResponse.java
                        ├── GetTravelBaoJiDetailInfoResultBean.java
                        ├── GetXprodCheckBind.java
                        ├── GetXprodCheckBindResponse.java
                        ├── InfoBeanOfGetSubProdBooked.java
                        ├── InfoBeanOfGetSubProdByTkt.java
                        ├── InsuranceBookInfo.java
                        ├── KeguiMultInfo.java
                        ├── MoneyClass.java
                        ├── NormSeatPriceInfo.java
                        ├── NormSeatPriceInfo2.java
                        ├── ObjectFactory.java
                        ├── OrderInfoForSlt.java
                        ├── OrderInfoForSltList.java
                        ├── OrderSumInfo.java
                        ├── OtherFeePolicy.java
                        ├── OtherFyDetailInfo.java
                        ├── PassengerBookInfo.java
                        ├── PassengerDetailInfo.java
                        ├── PriceCalcResult.java
                        ├── QueryFlightBgAppInfo.java
                        ├── QueryFlightBgAppInfoInputBean.java
                        ├── QueryFlightBgAppInfoResponse.java
                        ├── QueryFlightBgAppInfoResultBean.java
                        ├── QueryFlightSeatNo.java
                        ├── QueryFlightSeatNoResponse.java
                        ├── QueryOrderInfoForSlt.java
                        ├── QueryOrderInfoForSltQueryBean.java
                        ├── QueryOrderInfoForSltResponse.java
                        ├── QueryOrderInfoForSltResultBean.java
                        ├── ReceptionFlightsInfo.java
                        ├── RetBeanOfQueryFlightSeatNo.java
                        ├── RetFlightSeatsBean.java
                        ├── SearchBeanOfReceptionFlights.java
                        ├── SearchBeanOfSearchFlightsSP.java
                        ├── SearchFlightsBatch.java
                        ├── SearchFlightsBatchResponse.java
                        ├── SearchFlightsBatchResultBean.java
                        ├── SearchFlightsBatchResultBean2.java
                        ├── SearchFlightsBatchSP.java
                        ├── SearchFlightsBatchSPResponse.java
                        ├── SearchFlightsBatchSearchBean.java
                        ├── SearchFlightsBySegId.java
                        ├── SearchFlightsBySegId2.java
                        ├── SearchFlightsBySegId2Response.java
                        ├── SearchFlightsBySegIdBean.java
                        ├── SearchFlightsBySegIdResponse.java
                        ├── SearchReceptionFlights.java
                        ├── SearchReceptionFlightsResponse.java
                        ├── SearchTicketDetail.java
                        ├── SearchTicketDetailBean.java
                        ├── SearchTicketDetailResponse.java
                        ├── SearchTicketDetailResultBean.java
                        ├── SingleBookBeanOfBbookSubProdBatch.java
                        ├── SpringServiceSearchBookInterface.java
                        ├── SpringServiceSearchBookInterfaceService.java
                        ├── SubmitFlightBgApp.java
                        ├── SubmitFlightBgApp2.java
                        ├── SubmitFlightBgApp2Response.java
                        ├── SubmitFlightBgAppInputBean.java
                        ├── SubmitFlightBgAppResponse.java
                        ├── SubmitFlightBgAppResultBean.java
                        ├── SuperSeatPriceInfo.java
                        ├── SuperSeatPriceInfo2.java
                        ├── TicketBasicInfo.java
                        ├── TicketDetailInfo.java
                        ├── TicketInfo.java
                        ├── TravelBaoJiInfo.java
                        ├── UsernameToken.java
                        ├── XprodBeanOfCheckBind.java
                        ├── XprodBeanOfCheckBindInputBean.java
                        ├── XprodBeanOfCheckBindResultBean.java
                        ├── XprodBeanOfGetSubProd.java
                        ├── XprodBeanOfGetSubProdBooked.java
                        ├── XprodBookInfo.java
                        └── package-info.java

6 directories, 174 files
beaverdeMBP:demo beaver$

代码中接口的实现文件:

├── SpringServiceSearchBookInterface.java
                        ├── SpringServiceSearchBookInterfaceService.java
我们测试一下看是否能调用接口成功:        查询币种  接口
SpringServiceSearchBookInterface bookInterface = service.getPort(SpringServiceSearchBookInterface.class);
        GetMoneyClassSearchBean searchInfo = new GetMoneyClassSearchBean();
        UsernameToken usernameToken = new UsernameToken();
        usernameToken.setUsername("Username");
        usernameToken.setPassword("Password");
        searchInfo.setUsernameToken(usernameToken);
        final GetMoneyClassResultBean moneyClass = bookInterface.getMoneyClass(searchInfo);
        ObjectMapper objectMapper = new ObjectMapper();
        System.out.println("==================");
        System.out.println(objectMapper.writeValueAsString(moneyClass));

输出的json:

==================
{"errCode":null,"ifSuccess":"Y","moneyClassList":[{"moneyClassCode":"THB","moneyClassId":101},{"moneyClassCode":"CNY","moneyClassId":0},{"moneyClassCode":"JPY","moneyClassId":1},{"moneyClassCode":"USD","moneyClassId":21},{"moneyClassCode":"HKD","moneyClassId":61},{"moneyClassCode":"KRW","moneyClassId":62},{"moneyClassCode":"MOP","moneyClassId":81},{"moneyClassCode":"GBP","moneyClassId":41},{"moneyClassCode":"MYR","moneyClassId":121},{"moneyClassCode":"TWD","moneyClassId":141},{"moneyClassCode":"SGD","moneyClassId":161}]}

{

"errCode":null,

"ifSuccess":"Y",

"moneyClassList":[

{

"moneyClassCode":"THB",

"moneyClassId":101

},

{

"moneyClassCode":"CNY",

"moneyClassId":0

},

{

"moneyClassCode":"JPY",

"moneyClassId":1

},

{

"moneyClassCode":"USD",

"moneyClassId":21

},

{

"moneyClassCode":"HKD",

"moneyClassId":61

},

{

"moneyClassCode":"KRW",

"moneyClassId":62

},

{

"moneyClassCode":"MOP",

"moneyClassId":81

},

{

"moneyClassCode":"GBP",

"moneyClassId":41

},

{

"moneyClassCode":"MYR",

"moneyClassId":121

},

{

"moneyClassCode":"TWD",

"moneyClassId":141

},

{

"moneyClassCode":"SGD",

"moneyClassId":161

}

]

}

用了wsimport工具,生成客户端代码很方便,


以上所述就是小编给大家介绍的《JAX-WS Web Service -春秋航空销售部分接口使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

An Introduction to the Analysis of Algorithms

An Introduction to the Analysis of Algorithms

Robert Sedgewick、Philippe Flajolet / Addison-Wesley Professional / 1995-12-10 / CAD 67.99

This book is a thorough overview of the primary techniques and models used in the mathematical analysis of algorithms. The first half of the book draws upon classical mathematical material from discre......一起来看看 《An Introduction to the Analysis of Algorithms》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具