Q:

Assembling a WebLogic Web Service Manually

I implemented webservice as described in this guide by simply creating "web-services.xml" with the following content (and offcourse i create the 'com.example. WorkFlowEntry' handler class ) :
<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>

 
My issue is that when i deploy the EAR file in weblogic 11g the '' webservice is deployed successfully and i can access the WSDL of the webservice.  When i deploy the same EAR in weblogic 12c it got deployed successfully but the WSDL is not accessible i am getting 404! 

A:

Manually assembling weblogic web service is valid if you are using the
  Webservice 8.1 environment.  The last Weblogic version for which this
  approach can be used is Weblogic 12.1.1, from Weblogic 12.1.2 release,
  the 8.1 WebLogic Web services run time has been removed. 

that means using the 'web-services.xml' to build your webservice is valid till weblogic 12.1.1 version.  for the newer version you have to upgrade your webservice implementation as mentioned in this link which mainly go through (Upgrading a 10.x WebLogic Web Service (JAX-WS or JAX-RPC) to 12.1.x).  But this solution may affect the current running clients. 
In my case i cannot ask the client to change their code.  So my workaround for this case is to take the current WSDL and generate the webservice manually by ant as described in this link which is describes using wsdlc Ant task to generate the following artifacts:

JWS service endpoint interface (SEI) that implements the Web service described 
by the WSDL file. 
JWS implementation file that contains a partial (stubbed-out) implementation of 
the generated JWS SEI.  This file must be customized by the developer. 
JAXB data binding artifacts. 
Optional Javadocs for the generated JWS SEI.