5

我目前正试图让我的应用程序提供网络服务。该应用程序使用 spring 并在 Weblogic 10.3 实例下运行。

我按照“合同优先”的方法构建了 Web 服务。所以我基本上拥有的是一个生成的 WS-Interface,我对该接口的实现,一个定义 servlet-bindings 的 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 列表......它是空的。所以我的网络服务没有在那里列出。

那么,谁能告诉我,我必须做些什么才能让网络服务出现在那里?

4

2 回答 2

1

尽管拥有 JAX-WS 的 Web 服务描述符并不是真正必要的,但 Weblogic 有时无法识别 Web 服务(无法找到原因)

以下是我为使其正常工作所做的工作。在 web.xml 中添加 WebService 实现类作为 Servlet

<?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>
于 2014-05-26T22:59:30.463 回答
0

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

从战壕 2 | 将 OSB 和 SOA 套件修补到 PS5

也可以看看:

于 2013-04-15T16:01:49.183 回答