记一次在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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • asp.net类似于js中的setTimeOut()的函数作用?

    asp.net类似于js中的setTimeOut()的函数作用?

    2021年11月17日
    44
  • Matlab插值方法大全

    Matlab插值方法大全命令1 interp1功能一维数据插值(表格查找)。该命令对数据点之间计算内插值。它找出一元函数f(x)在中间点的数值。其中函数f(x)由所给数据决定。x:原始数据点Y:原始数据点xi:插值点Yi:插值点格式(1)yi=interp1(x,Y,xi)返回插值向量yi,每一元素对应于参量xi,同时由向量x与Y的内插值决定。参量x指定数据Y的点。若Y为一矩阵,则按Y的

    2022年6月4日
    111
  • ipv6的ping_ping详解

    ipv6的ping_ping详解背景为什么需要使用IPv6,一个最直接的答案就是目前广泛应用的IPv4已经无法提供足够的IP地址来满足迅速增长的网络。IPv4采用32位地址长度,只有大约43亿个地址,很快就将被分配完毕。而IPv6采用128位的地址长度,几乎可以不受限制的提供地址。当然扩大地址空间只是IPv6的众多优势中的重要一项,除此之外,IPv6还能够提高网络的整体吞吐量、改善服务质量(QoS)、安全性有更好的保证、支持即插即用和移动性、更好实现多播功能等等。IPv6的地址获取方式与IPv4有所

    2025年6月20日
    3
  • 半监督学习之MixMatch

    半监督学习之MixMatch半监督学习之MixMatchMixMatchUnsupervisedDataAugmentationforConsistencyTraining半监督深度学习训练和实现小TricksMixMatch:AHolisticApproachtoSemi-SupervisedLearning1.解读超强半监督学习MixMatch此方法仅用少量的标记数据,就使半监督学习的预测精度逼近监督学习。自洽正则化(ConsistencyRegularization)。自洽正则化的

    2025年7月12日
    2
  • java将Word转换成PDF

    java将Word转换成PDF网上有很多将Word转换成PDF的方式,这里找了两种比较简单的工具:jacob和aspose。1.jacob使用Jacob需要一些环境的准备,首先需要Jacob的jar包:然后还需要将jacob版本对应的ddl文件放到jdk或jre的bin目录里:下面只需要使用写好的工具类就可以了:publicclassWord2PdfJacobUtil{ /*转PDF格…

    2022年5月29日
    40
  • struts2于validate要使用

    struts2于validate要使用

    2022年1月11日
    42

发表回复

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

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