WebService在WebLogic 10.3中无法“显示”

5
我目前正在尝试让我的应用程序提供Web服务。该应用程序使用Spring,并在Weblogic 10.3实例下运行。
我按照“契约优先”的方法构建了WebService。所以基本上我有一个生成的WS接口,我的实现,一个定义servlet绑定的web.xml和一个定义端点的sun-jaxws.xml。(与此类似:http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/
现在,在将我的应用程序部署到Weblogic后,实际上一切都很好。我可以在浏览器中输入WebService的URL,看到WSDL,调用它的方法。如果没有一个小的美容事实:在WL的部署概述中,当我单击部署时,它会显示一个WebServices列表...但是为空的。所以我的WebService没有列在那里。
那么,有人能告诉我,我该怎么做才能让WebService出现在那里吗?
2个回答

1

虽然对于JAX-WS来说,拥有一个Web服务描述符并不是必需的,但有时候Weblogic无法识别Web服务(我没有找到原因)

以下是我为了让它正常工作所做的事情。将WebService实现类作为Servlet添加到web.xml中。

<?xml version='1.0' encoding='UTF-8'?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" id="WebApp_ID">
  <display-name>MyWebService</display-name>
  <servlet>
    <servlet-name>serviceServlet</servlet-name>
    <servlet-class>com.aneesh.WebServiceImpl</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>serviceServlet</servlet-name>
    <url-pattern>/Service</url-pattern>
  </servlet-mapping>
</web-app>

并添加Web服务描述符(webservices.xml)

<?xml version='1.0' encoding='UTF-8'?>
<webservices xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1">
  <webservice-description>
    <webservice-description-name>MyWebService</webservice-description-name>
    <port-component>
      <port-component-name>MyWebServiceSoapPort</port-component-name>
      <wsdl-port xmlns:an="http://www.aneesh.com/service">an:MyWebServiceSoapPort</wsdl-port>
      <service-endpoint-interface>com.aneesh.WebService</service-endpoint-interface>
      <service-impl-bean>
        <servlet-link>serviceServlet</servlet-link>
      </service-impl-bean>
    </port-component>
  </webservice-description>
</webservices>

0
根据创建Web服务的开发人员,应用程序中可能会添加诸如webservices.xmlweblogic-webservices.xml等部署描述符。描述符用于配置、覆盖默认设置和添加元数据。对于Web服务,这可以是端点、端口配置、将Web服务链接到EJB组件等。在部署后,Web服务的WSDL位置将列在WebLogic控制台中,并且可以在运行时检索WSDL。

来自战壕2 | 将OSB和SOA Suite升级到PS5

另请参见:


老实说,我既没有 webservices.xml 也没有 weblogic-webservices.xml。但是查看 Oracle 文档(您“另请参阅”中的第一个链接),它指出我不需要创建/触及它们: “此部分仅用于信息目的。通常,使用管理控制台或使用 JWS 注释进行配置更新,并且您不需要直接编辑任何部署描述符文件。” - Bluddymarri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接