SOAP AXIS2 - WebSphere 8.5上的Webservice。

问题描述 投票:0回答:1

我试图创建一个部署在WebSphere 8.5应用服务器上的Webservice实现,我已经创建了骨架和所有的存根,但我不知道如何打包我的应用。我注意到使用axis2-wsdl2code-maven-plugin创建了一个services.xml文件,它应该替换来自axis1的旧WSDD文件。但是我不知道应该把services.xml放在哪里,如何设置web.xml(如果需要的话)。

所有的东西都应该被打包在一个简单的war文件中。

我找不到任何简单的文档。

更新。我能够部署我的应用程序,但我既不能访问服务,也不能访问它的wsdl(WSDL不存在于存档中)。

当我试图访问我的webservice时,我得到了。

org.apache.axis2.AxisFault: 无法找到端点引用的服务。

我有以下services.xml文件,位于我的WAR存档的WEB-INFservices fodler下。

<?xml version="1.0" encoding="UTF-8"?><!-- This file was auto-generated from WSDL --><!-- by the Apache Axis2 version: 1.6.2  Built on : Apr 17, 2012 (05:33:49 IST) --><serviceGroup>
    <service name="PagamentoBollettinoPostaleInf">
        <messageReceivers>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="myservice.PagamentoBollettinoPostaleInfMessageReceiverInOut"/>
        </messageReceivers>
        <parameter name="ServiceClass">myservice.PagamentoBollettinoPostaleInfSkeleton</parameter>
        <parameter name="useOriginalwsdl">true</parameter>
        <parameter name="modifyUserWSDLPortAddress">true</parameter>
        <operation name="getPagamentoBollettinoPostaleInf" mep="http://www.w3.org/ns/wsdl/in-out" namespace="******">
            <actionMapping>urn:getPagamentoBollettinoPostaleInf</actionMapping>
            <outputActionMapping>urn:getPagamentoBollettinoPostaleInfResponse</outputActionMapping>
        </operation>
    </service>
</serviceGroup>

这是我的WEB.XML文件。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <display-name>inviaAnomalia</display-name>
    <servlet>
        <display-name>Apache-Axis Servlet</display-name>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/servlet/AxisServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>*.jws</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
</web-app>

这是我试图连接的端点。http:/localhost:9080war_context_rootservicesPagamentoBollettinoPostaleInf:


当我试图通过连接到以下地址来获取webservice的WSDL文件时,就会发生这种情况。http:/localhost:9080war_context_rootservicesPagamentoBollettinoPostaleInf?wsdl。

404 error

web-services soap websphere axis2
1个回答
2
投票

已解决

解决方法是按照这里的步骤进行。http:/maksim.sorokin.dkit20110113axis2-maven-servlets-tomcat。

然后,为了正确部署,WSDL和services.xml描述符文件必须放在里面。

WEB-INFservices<服务名称>META-INF

此外,按照建议禁用IBM JAX-WS引擎,也是一个不错的选择。Bruce T. 并设置了如下图所示的classloader,解决了这个问题。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.