记一次在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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 关于Asp与Asp.NET共享Cookie需要注意的地方

    关于Asp与Asp.NET共享Cookie需要注意的地方

  • JDK安装与环境变量配置「建议收藏」

    JDK安装与环境变量配置「建议收藏」下载JDK到Oracle官网下载JDK安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE时,可以选择不要安装。因为JDK已经自带了JRE。安装JDK测试JDK是否安装成功在配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为java-versionJDK安装成功环境变量详解JAVA_HOME…

  • 树的高度和深度 | 结点的高度和深度「建议收藏」

    树的高度和深度 | 结点的高度和深度「建议收藏」有个缺点,看到什么东西不管是不是重点只要说不通总是爱钻牛角尖。对于树的高度和深度(以及结点的高度和深度)看了几本不同的书,都有各自的说法,多方查证吧,花了很多时间,最后归纳一个能说服我的说法吧。(´。•ᵕ•。`)♡树的高度和深度深度是从上往下定义的,从根结点开始数,高度是从下往上定义的,从叶子结点开始数。这个涉及到结点的层数,有的教材规定根结点在第0层,有的则规定根结点在第一层。…

  • ssh登录linux

    ssh登录linux2018-9-6上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在windows下ssh客户端主要有puTTY、Xshell、secureCRT、sshsecureshell。linux下有openssh,这是个命令行工具。这篇主要将puTTY和Xshell的使用。puTTYpuTTY是开源免费软件。放恶意软件,建意到官网下载,或者百度、360、搜…

    2022年10月28日
  • 使用虚拟机7.1.3安装完Debian 6后,安装VMware-tools时,不能添加共享文件夹?

    使用虚拟机7.1.3安装完Debian 6后,安装VMware-tools时,不能添加共享文件夹?安装VMware-tools时,需要编译一些东西,在debian6中没有合适的编译环境导致;解决方法:1、安装Build-essential,安装完成后使用gcc-v看看GCC是否安装成功; 2、使用uname-r查看内核版本,然后安装与其版本一致的linux-h

    2022年10月18日
  • Android ORM 框架之 greenDAO

    Android ORM 框架之 greenDAO

发表回复

您的电子邮箱地址不会被公开。

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