Topic
  • 5 replies
  • Latest Post - ‏2013-11-15T03:43:28Z by Eric.Kou
saran77
saran77
4 Posts

Pinned topic jax-ws webservice migration from websphere 6.1 to 8.5

‏2013-11-11T12:04:21Z |

I am completely new to both webservice and websphere.

I am trying to fix this issue for more than a week. I am tired. Please help me

We are mirgrating JAX-WS Webservice project from websphere 6.1 to websphere 8.5.  Websphere enterprise application deployed successfully but gettting 404 error while accessing wsdl link.

We have a jsp page in this application and we are able to access the jsp page successfully.

By going through the project contant ( I haven't developed). This webservice project is annotation based and webservice generated from WSDL file.

I am attaching both web.xml and wsdl file here. Please help me to understand what will be the possible issue and how to fix this. Let me know if you need any more details.

What are thing we need to take care while migrating JAX-WS and JAXB webservice project migrating from websphere 6.1 to 8.5

 

WSDL file details

<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions name="ERLRouteAcknowledgementService" targetNamespace="http://ocs.zy.com/AcknowledgementService" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ocs.zy.com/eAcknowledgementService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
 
  <wsdl:types>
  <xs:schema id="exportMsgAck" targetNamespace="http://ocs.zy.com/AcknowledgementService" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">      
 
     
  <xs:complexType msdata:IsDataSet="true" msdata:UseCurrentLocale="true" name="exportMsgAck">    
   <xs:choice maxOccurs="1" minOccurs="1">   
    <xs:element name="MSGHDR">  
     <xs:complexType> 
      <xs:attribute name="TRANSID" type="xs:long" use="required"/>      
      
      <xs:attribute name="SRCCD" use="required">
        <xs:simpleType>
         <xs:restriction base="xs:string">
           <xs:maxLength value="15"/>
          </xs:restriction>
         </xs:simpleType>
        </xs:attribute>
      
      <xs:attribute name="TRANSMITTALDT" type="xs:string" use="required"/>
      <xs:attribute name="STATUS" type="xs:string" use="required"/>
     </xs:complexType> 
    </xs:element>  
    <xs:element name="ERROR">  
     <xs:complexType> 
      <xs:attribute name="ERRORCD" type="xs:string"/>
      <xs:attribute name="ERRORMSG" type="xs:string"/>
     </xs:complexType> 
    </xs:element>  
   </xs:choice>   
  </xs:complexType>    
 
 
 <xs:complexType name="AcknowledgementRequest">
             <xs:sequence>
              <xs:element maxOccurs="1" minOccurs="1" name="exportMsgAck" type="tns:exportMsgAck">
              </xs:element>              
             </xs:sequence>
          </xs:complexType>
 
 <xs:element name="AcknowledgementRequestType" type="tns:AcknowledgementRequest">
     </xs:element>
 
</xs:schema>   


  </wsdl:types>
 
    
 
 
  <wsdl:message name="Request">
   <wsdl:part element="tns:AcknowledgementRequestType" name="AcknowledgementRequest"/>
  </wsdl:message>
 
 
 
  <wsdl:portType name="AcknowledgementPortType">
    <wsdl:operation name="acknowledgeRouteExport">
      <wsdl:input message="tns:Request"/>
     
      
    </wsdl:operation>
   
   
  </wsdl:portType>
 
  <wsdl:binding name="AcknowledgementBinding" type="tns:EAcknowledgementPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="acknowledgeRouteExport">
      <soap:operation soapAction="http://ocs.zy.com/AcknowledgementService/acknowledgeRouteExport"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
     
   
    </wsdl:operation>
     
  </wsdl:binding>
  <wsdl:service name="AcknowledgeRouteExport">
    <wsdl:port binding="tns:AcknowledgementBinding" name="AcknowledgementPort">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

 

 

 

Web.xml detail

 

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>AcknowledgementService</display-name>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>
 

 

  • saran77
    saran77
    4 Posts

    Re: jax-ws webservice migration from websphere 6.1 to 8.5

    ‏2013-11-12T10:59:46Z  

    it looks webservice is complex topic. no response so far.

  • Eric.Kou
    Eric.Kou
    4 Posts

    Re: jax-ws webservice migration from websphere 6.1 to 8.5

    ‏2013-11-12T15:26:10Z  
    Hello,
     
    Do you mean the same web service application works well on WAS v61, but cannot be accessed on WAS v85? Did you install it successfully? 
     
    Also on WAS v85 admin console, from "Applications" -> "Application Types" -> "WebSphere enterprise applications" -> Click the App Name -> "Configuration", can see you "Web Services Properties" from the right bottom corner? 
     
    Regards,
    Eric
     
  • saran77
    saran77
    4 Posts

    Re: jax-ws webservice migration from websphere 6.1 to 8.5

    ‏2013-11-13T11:18:20Z  
    • Eric.Kou
    • ‏2013-11-12T15:26:10Z
    Hello,
     
    Do you mean the same web service application works well on WAS v61, but cannot be accessed on WAS v85? Did you install it successfully? 
     
    Also on WAS v85 admin console, from "Applications" -> "Application Types" -> "WebSphere enterprise applications" -> Click the App Name -> "Configuration", can see you "Web Services Properties" from the right bottom corner? 
     
    Regards,
    Eric
     

    Thanks Eric.Kou for your response.

    Yes. I can see web Services properties but there is no *wsdl.zip under publish wsdl files. Note - This webservice developed using JAX-WS 2.0 annotation.

    One more thing I wanted to share here to confirm webservice8.5 installed successfully, I have another webservice project which is deployed in was8.5 is working fine and I am able access WSDL link for the same. Only the difference i am seeing is this webservice are developed using webservices.xml configuration.  

    From my observation xml configuration webservices are working but JAX-WS 2.0 annotation webservices are not working.

    My observation might be wrong because i am new to websphere and webservices.

    Please let me know if you have any suggestion.

  • saran77
    saran77
    4 Posts

    Re: jax-ws webservice migration from websphere 6.1 to 8.5

    ‏2013-11-14T07:20:59Z  
    • Eric.Kou
    • ‏2013-11-12T15:26:10Z
    Hello,
     
    Do you mean the same web service application works well on WAS v61, but cannot be accessed on WAS v85? Did you install it successfully? 
     
    Also on WAS v85 admin console, from "Applications" -> "Application Types" -> "WebSphere enterprise applications" -> Click the App Name -> "Configuration", can see you "Web Services Properties" from the right bottom corner? 
     
    Regards,
    Eric
     

    Thanks Eric.kou for your suggestion. its helped us to investigate in different direction and we resolved this issue. 

    We have resolved this issue. It looks WAS8.5 is not supporting webapp version 2.4. We have changed this version to 3.0 in web.xml and its working.

     

  • Eric.Kou
    Eric.Kou
    4 Posts

    Re: jax-ws webservice migration from websphere 6.1 to 8.5

    ‏2013-11-15T03:43:28Z  

    Sorry I didn't reply to you in time (sick yesterday). But good news is seems you have figured out one solution.

    Actually it is not a bug, but a performance consideration. Refer to this link:

    http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.express.doc/info/exp/ae/cwbs_jaxwsdeploy.html

    For transitioning users For transitioning users: Starting with WebSphere Application Server Version 7.0, Java EE 5 application modules (Web application modules version 2.5 or above, or EJB modules version 3.0 or above) are scanned for annotations to identify JAX-WS services and clients. However, pre-Java EE 5 application modules (Web application modules version 2.4 or before, or EJB modules version 2.1 or before) are not scanned for JAX-WS annotations, by default, for performance considerations. In the Version 6.1 Feature Pack for Web Services, the default behavior is to scan pre-Java EE 5 Web application modules to identify JAX-WS services and to scan pre-Java EE 5 Web application modules and EJB modules for service clients during application installation. Because the default behavior for WebSphere Application Server Version 7.0 is to not scan pre-Java EE 5 modules for annotations during application installation or server startup, to preserve backward compatability with the feature pack from previous releases, you must configure either the UseWSFEP61ScanPolicy property in the META-INF/MANIFEST.MF of a Web archive (WAR) file or EJB module or define the Java virtual machine custom property, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, on servers to request scanning during application installation and server startup. To learn more about annotations scanning, see the JAX-WS annotations information.trns

    You can just add one JVM system properties to control the behavior, without modifying the application itself.

    http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/xrun_jvm.html#com.ibm.websphere.webservices.usewsfep61scanpolicy