Monday 6 May 2013

Not able to access OSB proxy service WSDL- 500 internal server error

While accessing the Proxy Service WSDL in browser throws 500 Internal Server Error..

 

When and how this error occurs: Steps to reproduce


1. Create a wsdl based proxy service and enable 'Enforce WS-I Compliance' for it.  

 

2. Suppose the endpoint of the proxy is '/default/wsdlBasedProxy'.   

 

3. View wsdl for this proxy service, I mean access
'http://<host name>:<port number>/default/wsdlBasedProxy?wsdl'. 

There is a NullPointerException in server log, see message below: 

------------------------------------------------------------------

 ]] Root cause of ServletException.
java.lang.NullPointerException
at weblogic.servlet.internal.ServletResponseImpl.sendContentError(ServletResponseImpl.java:622)
at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:666)
at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:118)
at com.bea.wli.sb.transports.http.wls.HttpTransportServlet$1.sendError(HttpTransportServlet.java:123)
at com.bea.wli.sb.transports.http.generic.RequestHelperBase.wsiCompliant(RequestHelperBase.java:205)
at com.bea.wli.sb.transports.http.generic.RequestHelperBase.service(RequestHelperBase.java:80)
at com.bea.wli.sb.transports.http.wls.HttpTransportServlet.service(HttpTransportServlet.java:129)
at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)



Workaround


1. Login to Service Bus Console

 

2. Create a Session and go to the Proxy Service Configuration Tab


3. Uncheck Enforce WS-I compliance on the proxy configuration.

 

4. Save the changes and activate the session.

 

Permanent Fix to this issue


1. Click Patches & Updates Tab on the support portal(support.oracle.com) .


2. Provide 13979537 for the Patch Set Number search criteria and click the Search button.


3. This brings up a row with the Patch details like Patch Name, Description,Release..etc


4. Click the Patch Name link(for eg 13979537 in your case)


5. Please confirm that you are downloading the Patch for OSB version 11.1.1.6.0


6. This brings up a popup. Click Read Me on the popup and this opens up a ReadMe document  which has step by step instruction to apply the patch.


7. Please apply the patch on test environment and if it solves the issue you can migrate the patch to other environment as well. 



 

No comments:

Post a Comment