【问题标题】:Assembling a WebLogic Web Service Manually手动组装 WebLogic Web 服务
【发布时间】:2018-07-31 21:28:48
【问题描述】:

我通过简单地创建具有以下内容的“web-services.xml”(当然我创建了“com.example.WorkFlowEntry”处理程序类)来实现这个guide 中描述的webservice:

<web-services>
<handler-chains>
   <handler-chain name="enterWorkflowChain">
       <handler class-name="com.example.WorkFlowEntry">
           <init-params>
               <init-param name="workflow-eng-jndi-name" 
                           value="workflow.entry" />
            </init-params>
       </handler>
   </handler-chain>
</handler-chains>
<web-service targetNamespace="http://example.com" 
              name="myworkflow" uri="myWorkflowService">
    <operations xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
       <operation name="enterWorkflow" 
                  handler-chain="enterWorkflowChain"
                  invocation-style="one-way" />
    </operations>
</web-service>

我的问题是,当我在 weblogic 11g 中部署 EAR 文件时,'' webservice 已成功部署,我可以访问 webservice 的 WSDL。当我在 weblogic 12c 中部署相同的 EAR 时,它已成功部署,但 WSDL 无法访问,我得到 404!

【问题讨论】:

  • 你检查你的耳朵是在你的 12c 域中启动的吗?使用管理控制台并转到部署选项进行检查。
  • 是 .. 已启动并处于活动状态,没有错误或警告。
  • 对我来说也一样。一切似乎都很好,但得到 404

标签: web-services weblogic12c


【解决方案1】:

如果您使用的是手动组装 weblogic web 服务是有效的 Web 服务 8.1 环境。用于此的最后一个 Weblogic 版本 可以使用的方法是 Weblogic 12.1.1,从 Weblogic 12.1.2 发布, 8.1 WebLogic Web 服务运行时已被删除。

这意味着使用 'web-services.xml' 构建您的 web 服务在 weblogic 12.1.1 版本之前有效。对于较新的版本,您必须按照link 中的说明升级您的 Web 服务实现,这主要通过(将 10.x WebLogic Web 服务(JAX-WS 或 JAX-RPC)升级到 12.1.x)。 但这种解决方案可能会影响当前运行的客户端

就我而言,我不能要求客户更改他们的代码。所以我对这种情况的解决方法是采用当前的 WSDL 并由 ant 手动生成 web 服务,如 link 中所述,它描述了使用 wsdlc Ant 任务生成以下工件:

  • 实现所描述的 Web 服务的 JWS 服务端点接口 (SEI) 通过 WSDL 文件。

  • JWS 实现文件,其中包含 生成的 JWS SEI。此文件必须由开发者自定义。

  • JAXB 数据绑定工件。

  • 生成的 JWS SEI 的可选 Javadocs。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多