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

JAX-WS没有列出WAS 8.5.5下的服务

卢阳成
2023-03-14

我按照本指南在以下内容上启用了第三方JAX-WS:http://www.ibm.com/support/knowledgecenter/ssaw57_8.0.0/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/twbs_thirdparty.html?cp=ssaw57_8.0.0%2f3-3-0-25-10-1

    ...
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.2.1</version>
    </dependency>
    ...
    <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-war-plugin</artifactId>              
         <configuration>
            <archive>
               <manifestEntries>
                  <DisableIBMJAXWSEngine>true</DisableIBMJAXWSEngine>
               </manifestEntries>
            </archive>
         </configuration>               
   </plugin>
   <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>jaxws-maven-plugin</artifactId>
         <version>1.10</version>
         <executions>
             <execution>
             <phase>process-classes</phase>
             <goals>
                 <goal>wsgen</goal>
              </goals>
              </execution>
         </executions>
         <configuration>
              <sei>com.example.myService</sei>
              <genWsdl>true</genWsdl>
              <keep>true</keep>
              <resourceDestDir>${basedir}/src/main/webapp/WEB-INF/wsdl</resourceDestDir>
              <sourceDestDir>${basedir}/src/main/java</sourceDestDir>
         </configuration>
   </plugin>
@WebService(
        targetNamespace = "...", 
        name = "...", 
        serviceName = "...")
public class MyService { 
   @WebMethod
    public String req1() {
       return "";
    }   
}

WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
   <display-name>Archetype Created Web Application</display-name>
    <listener>
         <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
    </listener>

   <servlet>
          <servlet-name>...</servlet-name> 
          <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
          <servlet-name>...</servlet-name>
          <url-pattern>/...</url-pattern>
   </servlet-mapping>

WEB-INF/sun-jaxws.xml

<?xml version='1.0' encoding='UTF-8'?>
<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>
    <endpoint name='...' implementation='com.example.myService' url-pattern='/...' ></endpoint>
</endpoints>

注释被正确禁用,wsgen生成工件和WEB-INF/WSDL文件夹。

<webservices>
    <webservice-description>
        <webservice-description-name>...</webservice-description-name>
        <wsdl-file>WEB-INF/wsdl/....wsdl</wsdl-file>
         <port-component>
            <port-component-name>...</port-component-name>
            <service-endpoint-interface>com.example.myService</service-endpoint-interface>
            <service-impl-bean>
                <servlet-link>...</servlet-link> 
            </service-impl-bean>
        </port-component>
    </webservice-description>
</webservices> 
[21/03/16 12.08.37:379 CET] 00000096 http          I   WSSERVLET12: JAX-WS context listener initializing
[21/03/16 12.08.39:371 CET] 00000096 monitoring    I   Metro monitoring rootname successfully set to: null
[21/03/16 12.08.39:602 CET] 00000096 http          I   WSSERVLET14: JAX-WS servlet initializing

共有1个答案

邢小云
2023-03-14

在禁用JAX-WS引擎之后,WAS将不会在部署的应用程序中检测和构建web服务构件。那么JAX-WS服务将不会在WAS管理控制台上列出,这是预期的行为。除了未列出服务外,是否观察到任何错误?我发现web服务DD文件名不正确,应该是webservices.xml。

敬杨

 类似资料:
  • 你好,我曾与JAX-WS合作开发基于SOAP的网络服务。现在我想使用REST,因为正如我从这里学习的那样,REST比SOAP有优势。 但从不同的文章中,我知道我们也可以从JAX-WS创建RESTful Web服务。但是大多数人说我们应该使用JAX-RS而不是JAX-WS。 我的问题是JAX-WS RESTful webservice和JAX-RS(泽西)之间有什么区别。JAX-RS相对于JAX-W

  • JAX-WS (JavaTM API for XML-Based Web Services)规范是一组XML web services的JAVA API。JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。 在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP。在使用JAX-WS过程中,开发者不需要

  • 问题内容: 我正在使用webservice soa,使用netbeans(jax- ws),我使用netbeans自动生成客户端,并且一切运行良好,但是我看到在客户端运行时wsdl始终在下载。 在生产中,我不想公开wsdl,并且我试图修改客户端,因为不需要wsdl,我的所有意图都是错误的,我发现了这一点: 但是当执行第一行时,我发现此异常: 有什么想法可以忽略wsdl吗? 问题答案: 最后,我使用

  • Apache CXF WebService 没有话说,享受沉默 showcase项目已演示了JAX-WS2.0 + CXF 的最重要特性, 其中客户端在测试用例里. SOAP这个名字,本身就是个笑话,一点都不Simple。其他一些WS-*协议,包括安全,附件等都不再看好,因此SpringSide4.0没什么更新。 测试工具依然是SoapUI。 Tips 1. CXF自动生成的WSDL与WADL文件

  • 我需要调用WildFly 8上可用的JAX-WS Web服务。我从一个简单的例子开始。这是我的网络服务: WSDL 可在以下网址获得: http://localhost:8080/DemoWS/HelloWorld?wsdl 看看Tomcat-CXF的例子,我编写了以下路由: 通过在 Camel 上下文中运行上述代码,将返回以下错误: serviceClass=com.sample。HelloWo

  • 问题内容: 使用JAX-WS 2,我也看到了其他人也谈到过的一个问题。问题是,如果在处理程序内部接收到SOAP消息,并且该SOAP消息很大(无论是由于恰好具有很多内容的内联SOAP正文元素,还是由于MTOM附件),那么很容易获得OutOfMemoryError。 原因是对getMessage()的调用似乎引发了一系列事件,这些事件涉及读取线路上的整个SOAP消息,并创建一个代表线路上内容的对象。