Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

XSD file in client project for EJB Rest Service

DLopezAug 27 2015 — edited Sep 3 2015

Hi,

I have created a function that will read a blob from database and present it as image returning the byte[] as a Response

    @GET

    @Path("/photostream/")

    @Produces("image/png")

    public Response getPhotoStream(@QueryParam("recid") String recid) {

        byte[] imageData = SessionBean.getPhoto(recid);

        System.out.println(imageData.toString());

        // uncomment line below to send non-streamed

        //return Response.ok(imageData).build();

        // uncomment line below to send streamed

        return Response.ok(new ByteArrayInputStream(imageData)).build();

    }

I now have to add this function to my data control 'Web Service Data Control (SOAP / REST)' and I have to create a xsd for it, but I don't know how am I going to define the type "Response" in my xsd.

I'm using Jdev 12c.

Thanks

UPDATE:

This is how I have my xsd, to be referenced in my DC :

<?xml version="1.0" encoding="UTF-8" ?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns="http://www.example.org"

            targetNamespace="http://www.example.org" elementFormDefault="qualified">

    <xsd:element name="photo">

        <xsd:complexType>

            <xsd:sequence>

                <xsd:element name="thememo" type="xsd:base64Binary" xmime:expectedContentTypes="image/png"/>

            </xsd:sequence>

        </xsd:complexType>

    </xsd:element>

</xsd:schema>

When I reference it in my DC all is well, but if I run the function from the client side I always get

<oracle.adf.model> <RestDCUtils> <logServiceInvocationFailed> <Internal Server Error>

oracle.jbo.JboException: JBO-57001: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">

<HTML>

<HEAD>

<TITLE>Error 500--Internal Server Error</TITLE>

</HEAD>

<BODY bgcolor="white">

<FONT FACE=Helvetica><BR CLEAR=all>

<TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>

<FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 500--Internal Server Error</H2>

</FONT></TD></TR>

</TABLE>

<TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><pre>javax.persistence.NoResultException: getSingleResult&#40;&#41; did not retrieve any entities.

  at org.eclipse.persistence.internal.jpa.QueryImpl.throwNoResultException(QueryImpl.java:972)

  at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:522)

  at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:400)

  at model.sessionbean.SessionBeanBean.getPhoto(SessionBeanBean.java:186)

  at model.sessionbean.SessionBean_rdm5u8_SessionBeanLocalImpl.__WL_invoke(Unknown Source)

  at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:33)

  at model.sessionbean.SessionBean_rdm5u8_SessionBeanLocalImpl.getPhoto(Unknown Source)

  at restservice.services.MemosService.getPhotoStream(MemosService.java:64)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:606)

  at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)

  at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)

  at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)

  at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)

  at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)

  at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)

  at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)

  at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)

  at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)

  at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)

  at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)

  at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)

  at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)

  at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)

  at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)

  at weblogic.jaxrs.server.portable.servlet.ServletContainer.service(ServletContainer.java:219)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)

  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.j2ee.ws.server.jaxrs.TenantServletFilter.doFilter(TenantServletFilter.java:84)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)

  at java.security.AccessController.doPrivileged(Native Method)

  at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

  at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

  at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)

  at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)

  at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

  at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

  at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)

  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)

  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)

  at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

</pre></FONT></TD></TR>

</TABLE>

</BODY>

</HTML>

  at oracle.adf.model.rest.RestDCUtils.getResponse(RestDCUtils.java:173)

  at oracle.adfinternal.model.adapter.ChildOperation.makeServerCall(ChildOperation.java:821)

  at oracle.adfinternal.model.adapter.XMLChildOperation.invokeOperationInternal(ChildOperation.java:1266)

  at oracle.adfinternal.model.adapter.ChildOperation.invokeOperation(ChildOperation.java:476)

  at oracle.adf.model.adapter.rest.RestURLDataControl.invokeOperation(RestURLDataControl.java:119)

  at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:482)

  at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:267)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1704)

  at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2218)

  at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:565)

  at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:316)

  at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:785)

  at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.invokeMethodAction(JUMethodIteratorDef.java:170)

  at oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding.initSourceRSI(JUMethodIteratorDef.java:659)

  at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1779)

  at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1753)

  at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4725)

  at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:346)

  at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1709)

  at oracle.jbo.uicli.binding.MyIteratorBinding.initSourceRSI(JUAccessorIteratorDef.java:785)

  at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1779)

  at oracle.jbo.uicli.binding.MyIteratorBinding.executeQuery(JUAccessorIteratorDef.java:739)

  at oracle.adf.model.bean.DCBeanDataControl.executeIteratorBindingIfNeeded(DCBeanDataControl.java:1188)

  at oracle.adf.model.binding.DCIteratorBinding.executeQueryIfNeeded(DCIteratorBinding.java:2304)

  at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3292)

  at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2921)

  at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:113)

  at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:421)

  at oracle.adf.controller.v2.lifecycle.Lifecycle$2.execute(Lifecycle.java:149)

  at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:197)

  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.startPageLifecycle(ADFPhaseListener.java:204)

  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:370)

  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:89)

  at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:489)

  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)

  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)

  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)

  at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)

  at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)

  at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)

  at java.security.AccessController.doPrivileged(Native Method)

  at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)

  at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

  at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)

  at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)

  at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)

  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)

  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

  at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

  at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)

  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)

  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)

  at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)

  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)

  at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

<oracle.adf.model> <RestDCUtils> <logServiceInvocationFailed> <Internal Server Error>

oracle.jbo.JboException: JBO-57001: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">

What can be wrong? is it the XSD?

This post has been answered by DLopez on Sep 3 2015
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 1 2015
Added on Aug 27 2015
3 comments
479 views