[英]WebService is not “visible” in WebLogic 10.3
我目前正试图让我的应用程序提供Web服务。 该应用程序使用spring并在Weblogic 10.3实例下运行。
我按照“合同优先”的方法构建了web服务。 所以我基本上有一个生成的WS-Interface,我的接口实现,定义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列表...它是空的。 所以我的网络服务没有列在那里。
那么,任何人都可以告诉我,我必须做些什么才能让网络服务出现在那里?
虽然为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>
并添加webservice描述符(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>
根据创建Web Service的开发人员,将部署描述符(如
webservices.xml
和weblogic-webservices.xml
)添加到应用程序中。 描述符用于配置,覆盖默认设置和添加元数据。 对于Web服务,这可以是端点,端口配置,Web服务与EJB组件的链接等。 部署时,Web Services的WSDL位置列在WebLogic控制台中,并且可以在运行时检索WSDL。
也可以看看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.