AXIS2客户端无法在Websphere中运行

时间:2016-10-18 19:15:08

标签: java websphere axis2

我将包含Axis2客户端[1.7.3]的应用程序部署到Websphere App Server。但是当Axis2客户端尝试从远程Web服务端点请求资源时,它会抛出java.lang.InstantiationError:org.apache.axis2.databinding.ADBDataSource。 原因来自生成的Java类的一行代码 - 返回行:

public org.apache.axiom.om.OMElement getOMElement(
        final javax.xml.namespace.QName parentQName,
        final org.apache.axiom.om.OMFactory factory)
        throws org.apache.axis2.databinding.ADBException {
        return factory.createOMElement(new org.apache.axis2.databinding.ADBDataSource(
                this, MY_QNAME));
}

factory.createOMElement来自axiom-api-1.2.19.jar。

我的pom.xml的一部分:

        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-kernel</artifactId>
            <version>1.7.3</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>1.7.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.ws.commons.axiom</groupId>
                    <artifactId>axiom-dom</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>1.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>1.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-xmlbeans</artifactId>
            <version>1.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxws</artifactId>
            <version>1.7.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.ws.commons.axiom</groupId>
                    <artifactId>axiom-dom</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.axis2</groupId>
                    <artifactId>axis2-saaj</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

它可以在Tomcat 7中运行,但不能在Websphere中运行!所以我想部分Websphere库存在问题。有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

Axis2 1.6.1与WebSphere 7.x兼容8

  • 首先,找到axis2 1.6.1并提取。然后,打开存档。

Open archive 7-Zip or WinZip

  • 使用以下属性将axis2.xml从false更新为true

enter image description here

  • 更新axis2_1_6_2 \ WEB-INF \ conf文件夹中的文件

  • 导航到Websphere管理控制台。

  • 删除old-axis2应用程序和目录。 - 首次安装时不需要。

  • 安装更新的war文件axis2_1_6_2.war(**更新的Axis2.xml必须在war文件中),不要启动。

  • 完成安装并导航企业应用程序,单击axis2_1_6_2.war。

  • 单击“类加载和更新检测”,选择首先加载本地类加载器的类(最后一个父),然后单击“应用”

  • 直接保存到主配置。

  • 在“企业应用程序”中,单击“管理模块”。

  • 单击模块名称Hyperlink Apache-Axis2

  • 从下拉班级装载机订单 - &gt;选择首先加载本地类加载器的类(父级第一个),然后单击“应用”

  • 直接保存到主配置,然后单击“确定” 同样,直接保存到主配置

  • 选择war文件并单击“开始”,“应用程序已成功启动”消息应显示

链接

  

用户名:admin

     

密码:axis2