文档章节

在CXF开发的WebService接口WSDL信息中添加注释

车开源
 车开源
发布于 2016/04/15 08:52
字数 894
阅读 998
收藏 6
点赞 1
评论 0

接口中使用注解定义

package edu.xxx.service;


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

import org.apache.cxf.annotations.WSDLDocumentation;
import org.apache.cxf.annotations.WSDLDocumentationCollection;

@WebService
@WSDLDocumentationCollection(  
	    {  
	        @WSDLDocumentation(value = "数据中心用户信息接口:为第三方子系统提供用户信息,访问此接口的客户端需要IP授权。作者:xxx,邮箱:xxx@126.com",  
	                           placement = WSDLDocumentation.Placement.TOP) 
	    }  
	)
public interface IUserService {
	@WebMethod  
	@WSDLDocumentation( "返回JSON格式数据") 
	String getUserListForJson(@WebParam(name="pageNum") Integer pageNum,
			@WebParam(name="pageSize") Integer pageSize);
	
	@WebMethod
	@WSDLDocumentation( "返回XML格式数据")
	String getUserListForXml(@WebParam(name="pageNum") Integer pageNum,
			@WebParam(name="pageSize") Integer pageSize);
	
	@WebMethod
	@WSDLDocumentation( "返回已经封闭好数据对象")
	ResponseObject getUserListForObject(@WebParam(name="pageNum") Integer pageNum,
			@WebParam(name="pageSize") Integer pageSize);
	
}
结果:
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions name="IUserServiceService" targetNamespace="http://service.xxx.edu/">
  <wsdl:documentation>数据中心用户信息接口:为第三方子系统提供用户信息,需要访问此插口的客户端需要IP授权。作者:xxx,邮箱:xxx@126.com</wsdl:documentation>
  <wsdl:types>
    <xs:schema elementFormDefault="unqualified" targetNamespace="http://service.xxx.edu/" version="1.0">
      <xs:element name="getUserListForJson" type="tns:getUserListForJson"/>
      <xs:element name="getUserListForJsonResponse" type="tns:getUserListForJsonResponse"/>
      <xs:element name="getUserListForObject" type="tns:getUserListForObject"/>
      <xs:element name="getUserListForObjectResponse" type="tns:getUserListForObjectResponse"/>
      <xs:element name="getUserListForXml" type="tns:getUserListForXml"/>
      <xs:element name="getUserListForXmlResponse" type="tns:getUserListForXmlResponse"/>
      <xs:complexType name="getUserListForXml">
        <xs:sequence>
          <xs:element minOccurs="0" name="pageNum" type="xs:int"/>
          <xs:element minOccurs="0" name="pageSize" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getUserListForXmlResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="return" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getUserListForJson">
        <xs:sequence>
          <xs:element minOccurs="0" name="pageNum" type="xs:int"/>
          <xs:element minOccurs="0" name="pageSize" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getUserListForJsonResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="return" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getUserListForObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="pageNum" type="xs:int"/>
          <xs:element minOccurs="0" name="pageSize" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="getUserListForObjectResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="return" type="tns:responseObject"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="responseObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="availablePage" type="xs:int"/>
          <xs:element maxOccurs="unbounded" minOccurs="0" name="data" nillable="true" type="tns:user"/>
          <xs:element minOccurs="0" name="message" type="xs:string"/>
          <xs:element minOccurs="0" name="status" type="xs:string"/>
          <xs:element minOccurs="0" name="totalRecords" type="xs:int"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="user">
        <xs:sequence>
          <xs:element minOccurs="0" name="userDept" type="xs:string"/>
          <xs:element minOccurs="0" name="userId" type="xs:string"/>
          <xs:element minOccurs="0" name="userIdentity" type="xs:string"/>
          <xs:element minOccurs="0" name="userName" type="xs:string"/>
          <xs:element minOccurs="0" name="userType" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="getUserListForObject">
    <wsdl:part element="tns:getUserListForObject" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getUserListForJson">
    <wsdl:part element="tns:getUserListForJson" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getUserListForObjectResponse">
    <wsdl:part element="tns:getUserListForObjectResponse" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getUserListForJsonResponse">
    <wsdl:part element="tns:getUserListForJsonResponse" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getUserListForXmlResponse">
    <wsdl:part element="tns:getUserListForXmlResponse" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getUserListForXml">
    <wsdl:part element="tns:getUserListForXml" name="parameters"> </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="IUserService">
    <wsdl:operation name="getUserListForXml">
      <wsdl:documentation>返回XML格式数据</wsdl:documentation>
      <wsdl:input message="tns:getUserListForXml" name="getUserListForXml"> </wsdl:input>
      <wsdl:output message="tns:getUserListForXmlResponse" name="getUserListForXmlResponse"> </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getUserListForJson">
      <wsdl:documentation>返回JSON格式数据</wsdl:documentation>
      <wsdl:input message="tns:getUserListForJson" name="getUserListForJson"> </wsdl:input>
      <wsdl:output message="tns:getUserListForJsonResponse" name="getUserListForJsonResponse"> </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getUserListForObject">
      <wsdl:documentation>返回已经封闭好数据对象</wsdl:documentation>
      <wsdl:input message="tns:getUserListForObject" name="getUserListForObject"> </wsdl:input>
      <wsdl:output message="tns:getUserListForObjectResponse" name="getUserListForObjectResponse"> </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="IUserServiceServiceSoapBinding" type="tns:IUserService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getUserListForJson">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="getUserListForJson">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getUserListForJsonResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getUserListForXml">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="getUserListForXml">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getUserListForXmlResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getUserListForObject">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="getUserListForObject">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getUserListForObjectResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="IUserServiceService">
    <wsdl:port binding="tns:IUserServiceServiceSoapBinding" name="IUserServicePort">
      <soap:address location="http://localhost:8080/UserSAPI/service/user"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>



© 著作权归作者所有

共有 人打赏支持
车开源
粉丝 12
博文 33
码字总数 8419
作品 0
佛山
后端工程师
SOA调用wsdl报 No binding operation info while invoking unknown method with params unknown

根据xsd文件用cxf生成对应wsdl,提供给soa调用,soa调用报No binding operation info while invoking unknown method with params unknown 接口模式是订阅发布; 1.想询问如何定位问题;2.想...

cflulu-heixiong ⋅ 06/06 ⋅ 0

mule发布调用webservice

mule发布webservice 使用mule esb消息总线发布和调用webservice都非常精简,mule包装了所有操作,你只需要拖控件配置就可以,下面讲解mule发布: 1.下面是flow,http监听接口,CXF发布webse...

jiazhipeng12 ⋅ 05/28 ⋅ 0

Android调用Axis、Axis2、Cxf发布的web service

在Android中调用axis2发布web service过程中一直报http500错误,axis2 web service是用eclipse插件生成的,发现直接打包成war包或直接在eclipse运行,Android调用的时候会报错,一定要打包成...

yuewawa ⋅ 05/04 ⋅ 0

NutzBoot v2.1.7 新增 maven 插件和 mqtt-client

NutzBoot v2.1.7 已发布,更新如下: 新增maven插件和mqtt支持 时间: 2018-05-04 事件: 青年节 曲目: Penguin's Game 兼容性: 与2.0.x和2.1.x完全兼容 变更: fix: 修改jetty热加载无效问题 ...

wendal ⋅ 05/04 ⋅ 0

新手初识webservice-实践篇

理论背景:《新手初识webservice-理论篇》http://my.oschina.net/achi/blog/52766 编程语言:Java 必要技能:JavaWeb,MVC,Spring IOC 情景假设:你刚用Java做了个网上店铺,用了servlet,MVC...

路飞 ⋅ 2012/04/12 ⋅ 5

基于J2EE应用发布WebService服务

1介绍 CXF号称是SOA框架,上一篇已经简单介绍了下WebService和CXF,这篇不再累述. 可能下面这张图可以很清楚地说明WebService在J2EE系统间的作用,比如系统间信息交互,或者新旧系统的整合等等....

蜡笔小小小新 ⋅ 2015/12/27 ⋅ 0

使用cxf发布webservice总结

一、概念 1、什么是webservice Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分...

漂泊者及其影子 ⋅ 2014/08/21 ⋅ 0

使用 Apache CXF 实现 Web Service 详解

1.Web service的概念 什么是WebService呢?从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功...

核桃白果 ⋅ 2013/08/08 ⋅ 10

一个WebService入门实例

1Web Service基本概念和CXF Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在 Web上提...

蜡笔小小小新 ⋅ 2015/12/26 ⋅ 0

CXF学习笔记(1)-HelloWorld!-发布webservice

1.apache网站下载CXF http://cxf.apache.org/download.html 2.创建一个java工程,将以下jar包复制到工程的classpath下 所有的jar包都可以在${CXF_HOME}lib目录中找到 3.定义服务接口HelloWo...

鉴客 ⋅ 2011/08/18 ⋅ 5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部