当前位置: 首页 > 知识库问答 >
问题:

WebSphere 8.5上的SOAP Axis2-WebService

阎修杰
2023-03-14

我试图创建一个部署在WebSphere8.5应用服务器上的Webservice实现。我已经创建了骨架和所有存根,但我不知道如何打包我的应用程序。我注意到使用axis2-wsdl2code-maven-plugin创建了一个services.xml文件,这将取代Axis1中的旧WSDD文件。但是,我不知道应该将services.xml放在哪里,也不知道如何设置web.xml(如果需要的话)。

一切都应该打包在一个简单的war文件中。

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

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

org.apache.axis2.AxisFault:找不到endpoint引用的服务

我有以下services.xml文件,位于WAR归档的WEB-INF/services 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>
<?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:9080/war_context_root/services/pagamentobollettinopestaleinf?WSDL来获取webservice的WSDL文件时,就会发生这种情况

共有1个答案

谭高峯
2023-03-14

已解决

解决方案是遵循以下步骤:http://maksim.sorokin.dk/it/2011/01/13/axis2-maven-servlets-tomcat/

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

 类似资料:
  • 我试图在was 8.5上部署使用jersey的jax-rs客户机应用程序。 我希望我不需要在war中打包jersey JAR,因为was将提供它们。 但在试图调用servlet时,我遇到了这个错误: 我可以做些什么来使用was库,这样我就不需要把它们打包在我的应用程序中了吗?

  • jar位于war/WEB-INF/lib目录中。存档没有损坏,类就存在于其中。一切看起来都和以前一样,只有spring版本更高。 在Spring 3.1.2中,一切都在使用相同的maven构建配置和EAR描述符!但是在更改Spring版本(仅此而已)之后,就会出现上述错误。 在WebSphere上升级Spring版本时,有什么特别的事情必须做吗?还是只是一种格格不入? 在com.ibm.ws.ss

  • 我也通过命令行运行“netstat-an”,找不到任何关于端口“8080”的记录。

  • 我在Servlet2.5版本中部署了一个内部带有唯一war的ear。当我尝试启动应用程序时,日志显示此消息,服务器尝试无限地启动应用程序。它在抛出java HeapException 20分钟后结束。 如果我部署相同的ear,但使用Servlet2.4版本,当我启动应用程序时,它会在几秒钟内启动。 WAS 8.5和servlets 2.5规范的问题是什么?

  • 我有一个JSF2(Richfaces 4.1.0)项目在eclipse中运行。我正在尝试使用mojarra jsf实现(2.2.0)在WAS 8.5上运行它。然后,maven提供了lib,但服务器似乎覆盖了它们,因为在控制台中,我可以读取Myfaces已加载。 我在想为什么会这样?如何让项目使用mojarra而不使用was管理控制台中的共享LIB? 这是代码中与maven相关的部分: 提前谢谢

  • 经过谷歌搜索,有人说可能是webshpere服务器已经包含了ASM。因此,我从app.war web-INF/lib中删除了asm.jar。但它仍然存在错误。

  • Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常

  • 我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。