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

Weblogic 14c-webservice描述名称在Weblogic webservices中不唯一

司徒志强
2023-03-14

我使用以下注释将无状态ejb公开为web服务:

@WebService(
    name = "MyServicePort",
    portName = "MyServicePort",
    serviceName = "MyService",
)
@SOAPBinding(
    style = SOAPBinding.Style.RPC
)
@Stateless(mappedName="MyServiceEJB", name = "MyServiceEJB")
public class MyServiceBean {

为了在weblogic中定义上下文根,我在weblogic webservices中定义了web服务。xml部署描述符如下:

<weblogic-webservices
    xmlns="http://xmlns.oracle.com/weblogic/weblogic-webservices"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-webservices http://xmlns.oracle.com/weblogic/weblogic-webservices/1.1/weblogic-webservices.xsd">
    <webservice-description>
        <webservice-description-name>MyService</webservice-description-name>
        <port-component>
            <port-component-name>MyServicePort</port-component-name>
            <service-endpoint-address>
                <webservice-contextpath>/mycontext</webservice-contextpath>
                <webservice-serviceuri>/myservice</webservice-serviceuri>
            </service-endpoint-address>
        </port-component>
    </webservice-description>
</weblogic-webservices>

然而,weblogic在部署时抛出以下错误:

[ERROR] weblogic.wsee.ws.WsException: Error encountered while deploying WebService module 'myservice-ejb.jar'.
In weblogic-webservices.xml, webservice-description-name MyService is not unique within weblogic-webservices

知道我做错了什么吗?这是我的web应用程序中唯一的bean/服务,在weblogic(本地实例)中没有部署其他应用程序。

共有1个答案

元修然
2023-03-14

我可以通过放置Web服务来解决这个问题。将以下内容放入META-INF文件夹(weblogic webservices.xml旁边)。

<webservices xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_4.xsd"
    version="1.4">
    <display-name>MyService</display-name>
    <webservice-description>
        <webservice-description-name>MyService</webservice-description-name>
        <port-component>
            <port-component-name>MyServicePort</port-component-name>
            <wsdl-port xmlns:tns="http://schemas.mycompany.com/webservices/MyService">tns:MyServicePort</wsdl-port>
            <service-endpoint-interface>mypackage.MyServiceBean</service-endpoint-interface>
            <service-impl-bean>
                <ejb-link>MyServiceEJB</ejb-link>
            </service-impl-bean>
        </port-component>
    </webservice-description>
</webservices>

希望它能帮助面临同样挑战的人。

 类似资料:
  • 问题内容: 我正在编程一个网络管理系统,并且需要能够在从SNMP陷阱接收到的OID后面打印出有意义的名称。由于系统的性质/大小,将每个OID手动映射到正在使用的每个设备上的每个MIB的有意义的名称不是一个好主意。 话虽如此,对于MIB中的所有OID,是否有一种免费的(商业用途)自动将名称/描述与其各自的OID配对的方法;然后将这些配对用于Java程序? 换句话说,是否存在将MIB树转换为Java对

  • 请帮助根据顶部数字/分数排序字符串(顺便说一句,根据我们的教练,我们不能使用arrays.sort) } 示例输入是这样的 我想要的输出是这样的 但是发生的是: 请帮忙,我想要一个简单的解释。非常感谢。

  • 我目前不知道这是如何启用的,但每次我在编辑器中打开一个需要一些参数的文件时,它都会在左侧显示其名称。E、 图中显示的是“值:”。我想禁用它,这样它就不会再显示了。

  • 问题内容: 我正在尝试将jenkins管道作为代码来做。我正在使用Github组织文件夹插件来扫描Github组织并为每个分支创建作业。有没有一种方法可以明确定义从Jenkinsfile获取的管道作业的名称?我还想为作业添加一些说明。 问题答案: 您需要使用如下所示。该部分很重要 编辑:上面一个重命名生成,其中原始问题是关于重命名作业。在管道中执行以下脚本可以做到这一点(这需要 适当的权限 )

  • 简单地移除清单中的权限对API<23不起作用。

  • 我只是用MVVM轻型工具包编写一些培训窗口项目。当MVVM Light引用添加到项目中时,下面的资源被自动添加到app.xml中 不幸的是,它不起作用,即由于以下错误,无法构建/编译项目: 我找到了几种针对此问题的常见解决方案(例如:更改解决方案平台、清理、重建、重新启动Visual Studio等),但它们并没有改变什么。创建一个新项目也没有帮助。 有没有其他办法让它起作用?我使用Visual