zoukankan      html  css  js  c++  java
  • 记一次在Eclipse中用Axis生成webservice服务端的过程中出现的问题

    问题一、

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

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

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

    当进行的这一步时,需要接着点击启动服务的按钮,之后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.

    问题三、

     忘记了,想起了再说。

  • 相关阅读:
    vbscript错误代码及对应解释大全(希望还没过时)
    对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载
    一道算法题,求更好的解法
    浅谈SQLite——实现与应用
    Linux网络协议栈(二)——套接字缓存(socket buffer)
    服务器开发入门——理解异步I/O
    理解MySQL——复制(Replication)
    线性时间排序算法
    Linux网络协议栈(一)——Socket入门(2)
    理解MySQL——索引与优化
  • 原文地址:https://www.cnblogs.com/liangblog/p/5417489.html
Copyright © 2011-2022 走看看