我通过简单地使用以下内容创建“web-services.xml”来实现此guide中所述的webservice(并且我创建了'com.example.WorkFlowEntry'处理程序类):
<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!
答案 0 :(得分:0)
如果您正在使用手动组装weblogic Web服务, Webservice 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 Service(JAX-WS或JAX-RPC)升级到12.1.x)。 但是此解决方案可能会影响当前正在运行的客户端。
就我而言,我不能要求客户更改其代码。因此,对于这种情况,我的解决方法是采用当前的WSDL并由 ant 手动生成Webservice,如本link中所述,该文档描述了如何使用wsdlc Ant任务生成以下工件:>
实现所描述的Web服务的JWS服务端点接口(SEI) 通过WSDL文件。
JWS实现文件,其中包含的部分(残端)实现 生成的JWS SEI。此文件必须由开发人员自定义。
JAXB数据绑定工件。
生成的JWS SEI的可选Javadocs。