Hi All,
I'm trying to setup a Java Struts project that utilizes the MediaBin WebServices. I'm doing this in my development environment against a MediaBin 4.5 server. I'm using Rational Application Developer 6.0 as my IDE (formally IBM's WSAD). I've successfully installed WebServices on the MediaBin server and can run the sample MediaBin WebServices project that was supplied (it's a client side Java application and works fine.) In setting up my project I copied the connection code from the sample into my project. However when I try to make the connection I receive an error:
java.lang.ClassCastException: com.mediabin.
www.MediaBinServerSoapStubThe following three lines are causing the casting issue:
org.apache.axis.client.Stub t = (org.apache.axis.client.Stub) myServiceStub;
((org.apache.axis.client.Stub) myServiceStub).setUsername(strUser);
((org.apache.axis.client.Stub) myServiceStub).setPassword(strPassword);
My question is why would this work within the client application but errors inside my Struts application? Below is the entire stack trace. I've attached my classes along with the classes from the sample project.
Any help would be greatly appreciated.
Thanks,
Donovan
[5/18/05 11:07:15:003 PDT] 0000003b SystemOut O Attempting to create the connection
[5/18/05 11:07:15:034 PDT] 0000003b SystemOut O Retrieved Stub from Server
[5/18/05 11:07:15:081 PDT] 0000003b SystemOut O Not Null
[5/18/05 11:07:15:128 PDT] 0000003b enterprise I WSWS3243I: Info: Mapping Exception to WebServicesFault.
[5/18/05 11:07:15:144 PDT] 0000003b enterprise I TRAS0014I: The following exception was logged WebServicesFault
faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultString: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
faultActor: null
faultDetail:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:179)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:490)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:218)
at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:274)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:727)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:648)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:609)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:446)
at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:732)
at com.mediabin.
www.MediaBinServerSoapStub.getMediaBinServerName(MediaBinServerSoapStub.java:573) at com.ejgallo.webtechnology.imagerepositoryws.action.connectionAction.execute(connectionAction.java:75)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.StringBuffer.substring(StringBuffer.java:864)
at com.ibm.ws.webservices.engine.transport.http.HttpOutboundChannelConnection.receiveSOAPResponse(HttpOutboundChannelConnection.java:882)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:391)
... 30 more
.
WebServicesFault
faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultString: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
faultActor: null
faultDetail:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:179)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:490)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:218)
at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:274)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:727)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:648)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:609)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:446)
at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:732)
at com.mediabin.
www.MediaBinServerSoapStub.getMediaBinServerName(MediaBinServerSoapStub.java:573) at com.ejgallo.webtechnology.imagerepositoryws.action.connectionAction.execute(connectionAction.java:75)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.StringBuffer.substring(StringBuffer.java:864)
at com.ibm.ws.webservices.engine.transport.http.HttpOutboundChannelConnection.receiveSOAPResponse(HttpOutboundChannelConnection.java:882)
at com.ibm.ws.webservices.engine.transport.http.HTTPSender.invoke(HTTPSender.java:391)
... 30 more
[5/18/05 11:07:15:144 PDT] 0000003b ServletWrappe E SRVE0068E: Could not invoke the service() method on servlet action. Exception thrown : java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
[5/18/05 11:07:15:159 PDT] 0000003b LocalTranCoor E WLTC0017E: Resources rolled back due to setRollbackOnly() being called.
[5/18/05 11:07:15:253 PDT] 0000003b WebApp E SRVE0026E: [Servlet Error]-[action]: java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R java.lang.ClassCastException: com.mediabin.
www.MediaBinServerSoapStub at com.ejgallo.webtechnology.imagerepositoryws.actionForm.connectionActionForm.ConnectToMediaBin(connectionActionForm.java:74)
at com.ejgallo.webtechnology.imagerepositoryws.action.connectionAction.execute(connectionAction.java:69)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
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(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R at com.ejgallo.webtechnology.imagerepositoryws.actionForm.connectionActionForm.ConnectToMediaBin(connectionActionForm.java:74)
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R at com.ejgallo.webtechnology.imagerepositoryws.action.connectionAction.execute(connectionAction.java:69)
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
[5/18/05 11:07:15:034 PDT] 0000003b SystemErr R at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
[5/18/05 11:07:15:065 PDT] 0000003b SystemErr R at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
[5/18/05 11:07:15:065 PDT] 0000003b SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
[5/18/05 11:07:15:065 PDT] 0000003b SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[5/18/05 11:07:15:065 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
[5/18/05 11:07:15:081 PDT] 0000003b SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
[5/18/05 11:07:21:128 PDT] 00000052 WSChannelFram A CHFW0020I: The Transport Channel Service has stopped the Chain labeled httpclient-http-chain:mod2kas004:80.