IBM Support

PM09209: THE JAX-WS RUNTIME SHOULD THROW AN EXCEPTION IF THE WSDL IS UNAVAILABLE FOR A ?WSDL REQUEST.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a user issues a ?wsdl request for a JAX-WS web service,
    the request may fail with the following error:
    
    [02/02/10 17:23:42:082 EST] 000000a2 ServletWrappe E
    SRVE0068E:
    Uncaught exception thrown in one of the service methods of the
    servlet:
    sca.webservice.provider.CIFModuleExport. Exception thrown :
    javax.servlet.ServletException
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet(WASAxis2
    Servlet.java:353)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWr
    apper.java:1152)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:592)
    at
    com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(S
    ervletWrapper.java:525)
    ...
    ---- Begin backtrace for Nested Throwables
    java.lang.IllegalStateException
    at
    com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedir
    ectWithStatusCode(WebAppDispatcherContext.java:493)
    at
    com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedir
    ect(WebAppDispatcherContext.java:450)
    at
    com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTS
    ervletResponse.java:1046)
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.processWsdlReq
    uest(WASAxis2Servlet.java:510)
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet(WASAxis2
    Servlet.java:338)
    ...
    
    This error happens when the JAX-WS web service meets both
    of the following criteria:
    
    - It does not specify the wsdlLocation parameter with its
    annotation javax.xml.ws.WebServiceProvider or
    javax.xml.ws.WebService annotation.
    - It uses the SOAP 1.2 binding. For example:
    
    @WebServiceProvider(
    targetNamespace="http://littlelulu.ibm.com/sample/Hello",
    serviceName="HelloWorldService",
    portName="HelloWorldPort"
    )
    
    @ServiceMode(value=Service.Mode.MESSAGE)
    @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
    public class HelloWorld implements Provider<OMElement> { ... }
    
    The JAX-WS runtime cannot dynamically generate a WSDL for this
    service because the JAX-WS specification forbids it:
    
    "SOAP 1.2/HTTP Binding A JAX-WS implementation MUST NOT
    generate a WSDL description for the
    endpoint."
    
    The ?wsdl request should fail with a more informative and
    concise error.
    

Local fix

  • To resolve the issue, add the wsdlLocation attribute.  Using the
    example above, this would be the solution:
    
    @WebServiceProvider(
    targetNamespace="http://littlelulu.ibm.com/sample/Hello",
    
            serviceName="HelloWorldService",
            portName="HelloWorldPort",
            wsdlLocation="<relativePathNameToWSDL>"
    )
    
    @ServiceMode(value=Service.Mode.MESSAGE)
    @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
    public class HelloWorld implements Provider<OMElement> { ... }
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Developers of JAX-WS services in IBM        *
    *                  WebSphere Application Server Feature Pack   *
    *                  for Web Services                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: A JAX-WS ?wsdl request should fail      *
    *                      with a more concise error message.      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a user issues a ?wsdl request for a JAX-WS web service,
    the request may fail with the following error:
    
    [02/02/10 17:23:42:082 EST] 000000a2 ServletWrappe E
    SRVE0068E:
    Uncaught exception thrown in one of the service methods of the
    servlet:
    sca.webservice.provider.CIFModuleExport. Exception thrown :
    javax.servlet.ServletException
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet(WASAxis2
    Servlet.java:353)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWr
    apper.java:1152)
    at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:592)
    at
    com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(S
    ervletWrapper.java:525)
    ...
    ---- Begin backtrace for Nested Throwables
    java.lang.IllegalStateException
    at
    com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedir
    ectWithStatusCode(WebAppDispatcherContext.java:493)
    at
    com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedir
    ect(WebAppDispatcherContext.java:450)
    at
    com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTS
    ervletResponse.java:1046)
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.processWsdlReq
    uest(WASAxis2Servlet.java:510)
    at
    com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet(WASAxis2
    Servlet.java:338)
    ...
    
    This error happens when the JAX-WS web service meets both
    of the following criteria:
    
    - It does not specify the wsdlLocation parameter with its
    annotation javax.xml.ws.WebServiceProvider or
    javax.jws.WebService annotation.
    - It uses the SOAP 1.2 binding.
    
    For example:
    
    @WebServiceProvider(
    targetNamespace="http://littlelulu.ibm.com/sample/Hello",
    serviceName="HelloWorldService",
    portName="HelloWorldPort"
    )
    
    @ServiceMode(value=Service.Mode.MESSAGE)
    @BindingType(SOAPBinding.SOAP12HTTP_BINDING)
    public class HelloWorld implements Provider<OMElement> { ... }
    
    The JAX-WS runtime cannot dynamically generate a WSDL for this
    service because the JAX-WS specification forbids it:
    
    "SOAP 1.2/HTTP Binding A JAX-WS implementation MUST NOT
    generate a WSDL description for the
    endpoint."
    
    The ?wsdl request should fail with a more informative and
    concise exception and message.
    
    Note that this APAR does NOT fix the customer's application
    error. To resolve the error, the application developer must
    supply the WSDL file in the application and specify its
    location with the wsdlLocation parameter.
    

Problem conclusion

  • The JAX-WS runtime was fixed to throw a
    "javax.servlet.ServletException: WSWS7068E: The application
    server cannot display the Web Services Description Language
    (WSDL) file because the file cannot be loaded" error for a
    ?wsdl request failure as described previously.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 6.1.0.33.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM09209

  • Reported component name

    WEBSERVIC FEATU

  • Reported component ID

    5724J0850

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-03-05

  • Closed date

    2010-03-31

  • Last modified date

    2010-03-31

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSERVIC FEATU

  • Fixed component ID

    5724J0850

Applicable component levels

  • R610 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
25 October 2021