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


相关推荐

  • realsense深度图像保存方法

    realsense深度图像保存方法一般使用realsense时会保存视频序列,当保存深度图像时,需要注意保存的图像矩阵的格式,不然可能造成深度值的丢失。在众多图像库中,一般会使用opencv中的imwrite()函数进行深度图像的保存。一般深度图像中深度值的单位是mm,因此一般使用np.uint16作为最终数据格式保存。例子:importnumpyasnpimportcv2deffun1(…

    2022年4月25日
    188
  • android studio接口调用_android studio jdk版本

    android studio接口调用_android studio jdk版本Android做jni的时候需要根据nativejava类生成对应的.h头文件,然后根据.h头文件写cpp文件。在Androidstudio中可以添加自定义工具,将javah指令添加进去首先我们看下javah的指令格式由此指令我们知道怎么使用javah指令例如有java文件D:\project\Test\app\src\main\java\com\example\test.java编译生成的class文件位于D:\project\Test\app\build\interm.

    2022年9月24日
    0
  • goland 激活码2021【在线注册码/序列号/破解码】

    goland 激活码2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    376
  • 单例模式的使用总结

    单例模式的使用总结目录一、单例模式的定义和应用场景(一)定义及基本要点(二)应用场景二、饿汉式单例模式(一)基本代码展示分析(二)基本分析和建议三、懒汉式单例模式(双重检查锁)(一)基本代码展示分析(二)基本分析和建议四、静态内部类实现单例模式(一)基本代码展示分析(二)基本分析和建议五、注册式单例模式(一)枚举式单例模式代码及分析:(EffectiveJa…

    2022年7月25日
    5
  • Java程序设计(高级及专题)- JDBC

    Java程序设计(高级及专题)- JDBCJava程序设计(高级及专题)- JDBC

    2022年4月22日
    38
  • axios的安装和使用

    axios的安装和使用文章目录一、axios介绍二、安装axios三、案例一、axios介绍什么是axios?Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。特性:1、从浏览器中创建XMLHttpRequests2、从node.js创建http请求3、支持PromiseAPI4、拦截请求和响应5、转换请求数据和响应数据6、取消请求7、自动转换JSON数据8、客户端支持防御XSRF浏览器支持:二、安装axios方法一:速.

    2022年10月22日
    0

发表回复

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

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