记一次在Eclipse中用Axis生成webservice服务端的过程中出现的问题

记一次在Eclipse中用Axis生成webservice服务端的过程中出现的问题

问题一、

Unable to find config file.  Creating new servlet engine config file: /WEB-INF/server-config.wsdd

 找不到这个.wsdd的配置文件,没有自动生成!

原因是使用Eclipse自动生成axis服务端时没有执行的最后一步!如图:

记一次在Eclipse中用Axis生成webservice服务端的过程中出现的问题

当进行的这一步时,需要接着点击启动服务的按钮,之后Next按钮就会可用,点击Next按钮后就会自动生成这个.wsdd文件!

问题二、

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: makeTypeElement() was told to create a type……

这个是在发布服务后点击wsdl链接查看http://127….?wsdl文档时发生的错误,但是访问时不输入?wsdl就是一切正常!

出现这个错误是因为接口方法中的参数是一个复杂类型且这个参数的构造函数中还有复杂类型! eq:

<xs:element name="OrderList" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Order" type="tns:OrderType" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

上面代码中OrderList是接口方法中的参数且是一个复杂类型,Order也是一个复杂类型。

这个问题不影响Axis的服务端与客户端的调用,这个据说是Axis的一个bug,而且好像不是每次都会出现!不知道什么时候出现,也可能与浏览器有关!……

 为了正常显示,也可以对此进行修改, 提取出复杂类型,并给OrderList添加type参数。 eg:

<xs:element name="OrderList" minOccurs="0" type="tns:OrderListType"></xs:element>
<xs:complexType name="OrderListType">
        <xs:sequence>
            <xs:element name="Order" type="tns:OrderType" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>

2:)wsdl无法正常显示会影响cxf的一般调用,因cxf的客户端是以wsdl为基础生成的!一般调用方法如下:

  Service ss = new Service (wsdlURL, SERVICE_NAME);
  PortType port = ss.getPort();
  port.getInfo();  

其中wsdl为重点,wsdl的显示会影响调用。

为了避开这个影响,CXF客户端调用服务端时可以适应另一种方法:eq:

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 
factory.setServiceClass(PortType.class);
factory.setAddress(studioTaskUrl);
port = (PortType)factory.create();

UP.

问题三、

 忘记了,想起了再说。

转载于:https://www.cnblogs.com/liangblog/p/5417489.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109061.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cocos2d-x Box2D物理引擎编译设置

    Cocos2d-x Box2D物理引擎编译设置

    2022年1月15日
  • 1/7的小数点后2020位的数字是_如果把数字5写在某自然数右端

    1/7的小数点后2020位的数字是_如果把数字5写在某自然数右端给定长度为 N 的整数序列 A,下标为 1∼N。现在要执行 M 次操作,其中第 i 次操作为给出三个整数 li,ri,ki,求 A[li],A[li+1],…,A[ri] (即 A 的下标区间 [li,ri])中第 ki 小的数是多少。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数,表示整数序列 A。接下来 M 行,每行包含三个整数 li,ri,ki,用以描述第 i 次操作。输出格式对于每次操作输出一个结果,表示在该次操作中,第 k 小的数的数值。每个结果占一行。数据范围

    2022年8月10日
  • CCNA学习指南 第七章 下载

    CCNA学习指南 第七章 下载

    2021年8月31日
  • 使用nginx实现动静分离「建议收藏」

    使用nginx实现动静分离「建议收藏」一、什么是动静分离动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。nginx的动静分离,指的是由nginx将客户端请求进行分类转发,静态资源请求(如html、css、图片等)由静态资源服务器处理,动态资源请求(如jsp页面、servlet程序等)由tomcat服务器处理,tomcat本身是用来处理动态资源的,同时tomcat也能处理静态资源,但是tomcat本身处理静态资源的

    2022年5月1日
  • [Vue warn]: Do not use built-in or reserved HTML elements as component id: content「建议收藏」

    [Vue warn]: Do not use built-in or reserved HTML elements as component id: content「建议收藏」一、错误在Vue中引入组件报错:[Vue warn]: Do not use built-in or reserved HTML elements as component id: content二:原因在vue里面不允许用特殊的标签来做自定义的标签比如你不能用a来接收一个组件的注册然后在以自定义标签的方式引用会被限制三、结果方法将冲突的content替换成‘v-content…

    2022年6月13日
  • jq tmpl输出编码html,jQuery tmpl 讲解「建议收藏」

    jq tmpl输出编码html,jQuery tmpl 讲解「建议收藏」2016-07-0114:30陈铭竑1、什么是jQuery-tmpl(1)jQuery的一个类库(2)一个轻量级的前端模板引擎(vue.js也是一种前端模板引擎)(3)可以在模板中实现逻辑运算2、jQuery-tmpl的语法(1)占位:${变量}或{{=变量}}注:=和变量之间一定要有空格(2)循环{{each(i,obj)objs}}…{{/each}}(3)选择{{if条件}}….

    2022年6月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号