Loading Secured XSD SChema Files

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Loading Secured XSD SChema Files

BitByter
Hi Orbeons,

I'm using the latest Orbeon Forms nightly build in an "seperate deployment".
My own web app which contains the XForms requires authentication, which
means the user first has to log in before using it.

The security is implemented in a servlet filter, which checks for a valid
credential in the users session. If a valid credential is present, simply
the next servlet filter is called in the chain. If no valid credential is
available, the user is forwarded to a login page - to obtain a new, valid
credential.

Now my problem is that I can't reference any XSD schema in my XForms page
like <xforms:model schema="schema.xsd">. When I do so, I get the following
error page from Orbeon Forms:


Orbeon Forms - Error Page
Error Message

The following error has occurred:
Error Message

White spaces are required between publicId and systemId.
Orbeon Forms Call Stack

The Orbeon Forms Call Stack helps you determine what sequence of Orbeon Forms operations have caused the error. Resource URL    Line    Column  Description     XML Element
http://localhost:9090/mywebapp/xforms/bookcast/schema.xsd     13      63
oxf:/ops/pfc/xforms-epilogue.xpl        114     71      reading processor output (name='document', ref='xformed-data')  
oxf:/config/epilogue.xpl        41      58      reading processor output (name='xformed-data', id='xformed-data')      
oxf:/config/epilogue-servlet.xpl        30      48      reading processor output (name='xformed-data')  
oxf:/config/epilogue.xpl        59      46      executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline')     ...
oxf:/ops/xforms/xforms-renderer.xpl     32      38      executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline')     ...

Java Exceptions (4 total)

Java Exceptions are the native mechanism by which Orbeon Forms reports errors. More than one exception may be provided below but usually the first exception along with the Orbeon Forms Stack Trace above provide enough information to track down an issue.  org.orbeon.oxf.common.ValidationException
Exception Class org.orbeon.oxf.common.ValidationException
Message White spaces are required between publicId and systemId.
Resource URL    http://localhost:9090/mywebapp/xforms/bookcast/schema.xsd
Line    13
Column  63
Servlet Stack Trace
(110 method calls)              Class Name      Method Name     File Name       Line Number
org.orbeon.oxf.xforms.XFormsModelSchemaValidator$MSVGrammarReaderController     error   XFormsModelSchemaValidator.java 104
com.sun.msv.reader.Controller   error   Controller.java 49
com.sun.msv.reader.Controller   error   Controller.java 61
com.sun.msv.reader.Controller   fatalError      Controller.java 57
orbeon.apache.xerces.util.ErrorHandlerWrapper   fatalError      ErrorHandlerWrapper.java        218
orbeon.apache.xerces.impl.XMLErrorReporter      reportError     XMLErrorReporter.java   384
orbeon.apache.xerces.impl.XMLErrorReporter      reportError     XMLErrorReporter.java   314
orbeon.apache.xerces.impl.XMLScanner    reportFatalError        XMLScanner.java 1436
orbeon.apache.xerces.impl.XMLScanner    scanExternalID  XMLScanner.java 1024
orbeon.apache.xerces.impl.XMLDocumentScannerImpl        scanDoctypeDecl XMLDocumentScannerImpl.java     588


Maybe I also should mention that I use client side state hadling for Orbeon
Forms, as server side state handling does not work for some reason with my
web app.

I assume Orbeon Forms tries to load the XSD schema from my web app, but
fails as it does not own a valid credential, thus receives the login page
instead of the XSD schema and of course fails parsing it.

When I omit the schema attribute in the <xforms:model/> element, the XForms
page loads correctly.

Is my assumption for the reason of this error correct? Does anybody have an
idea how to solve that problem?


- bitbyter





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Loading Secured XSD SChema Files

Alessandro Vernet
Administrator
Hi BitByter,

Yes, I think your analysis is correct. I am looking at our code and I
don't see us passing the authentication information when we load the
schema. Would it be possible for you to create a small war file that
we can use to reproduce this problem? Otherwise of course a workaround
is to setup your filter so authentication is not required to access
*.xsd files.

Alex

On 4/24/07, BitByter <[hidden email]> wrote:

> Hi Orbeons,
>
> I'm using the latest Orbeon Forms nightly build in an "seperate deployment".
> My own web app which contains the XForms requires authentication, which
> means the user first has to log in before using it.
>
> The security is implemented in a servlet filter, which checks for a valid
> credential in the users session. If a valid credential is present, simply
> the next servlet filter is called in the chain. If no valid credential is
> available, the user is forwarded to a login page - to obtain a new, valid
> credential.
>
> Now my problem is that I can't reference any XSD schema in my XForms page
> like <xforms:model schema="schema.xsd">. When I do so, I get the following
> error page from Orbeon Forms:
>
>
> Orbeon Forms - Error Page
> Error Message
>
> The following error has occurred:
> Error Message
>
> White spaces are required between publicId and systemId.
> Orbeon Forms Call Stack
>
> The Orbeon Forms Call Stack helps you determine what sequence of Orbeon Forms operations have caused the error. Resource URL    Line    Column  Description     XML Element
> http://localhost:9090/mywebapp/xforms/bookcast/schema.xsd     13      63
> oxf:/ops/pfc/xforms-epilogue.xpl        114     71      reading processor output (name='document', ref='xformed-data')
> oxf:/config/epilogue.xpl        41      58      reading processor output (name='xformed-data', id='xformed-data')
> oxf:/config/epilogue-servlet.xpl        30      48      reading processor output (name='xformed-data')
> oxf:/config/epilogue.xpl        59      46      executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline')     ...
> oxf:/ops/xforms/xforms-renderer.xpl     32      38      executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline')     ...
>
> Java Exceptions (4 total)
>
> Java Exceptions are the native mechanism by which Orbeon Forms reports errors. More than one exception may be provided below but usually the first exception along with the Orbeon Forms Stack Trace above provide enough information to track down an issue.  org.orbeon.oxf.common.ValidationException
> Exception Class org.orbeon.oxf.common.ValidationException
> Message White spaces are required between publicId and systemId.
> Resource URL    http://localhost:9090/mywebapp/xforms/bookcast/schema.xsd
> Line    13
> Column  63
> Servlet Stack Trace
> (110 method calls)              Class Name      Method Name     File Name       Line Number
> org.orbeon.oxf.xforms.XFormsModelSchemaValidator$MSVGrammarReaderController     error   XFormsModelSchemaValidator.java 104
> com.sun.msv.reader.Controller   error   Controller.java 49
> com.sun.msv.reader.Controller   error   Controller.java 61
> com.sun.msv.reader.Controller   fatalError      Controller.java 57
> orbeon.apache.xerces.util.ErrorHandlerWrapper   fatalError      ErrorHandlerWrapper.java        218
> orbeon.apache.xerces.impl.XMLErrorReporter      reportError     XMLErrorReporter.java   384
> orbeon.apache.xerces.impl.XMLErrorReporter      reportError     XMLErrorReporter.java   314
> orbeon.apache.xerces.impl.XMLScanner    reportFatalError        XMLScanner.java 1436
> orbeon.apache.xerces.impl.XMLScanner    scanExternalID  XMLScanner.java 1024
> orbeon.apache.xerces.impl.XMLDocumentScannerImpl        scanDoctypeDecl XMLDocumentScannerImpl.java     588
>
>
> Maybe I also should mention that I use client side state hadling for Orbeon
> Forms, as server side state handling does not work for some reason with my
> web app.
>
> I assume Orbeon Forms tries to load the XSD schema from my web app, but
> fails as it does not own a valid credential, thus receives the login page
> instead of the XSD schema and of course fails parsing it.
>
> When I omit the schema attribute in the <xforms:model/> element, the XForms
> page loads correctly.
>
> Is my assumption for the reason of this error correct? Does anybody have an
> idea how to solve that problem?
>
>
> - bitbyter
>
>
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
>

--
Orbeon Forms - Web 2.0 Forms for the Enterprise
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re[2]: Loading Secured XSD SChema Files

BitByter
Wednesday, April 25, 2007, 2:09:50 AM, Alex wrote:

AV> Yes, I think your analysis is correct. I am looking at our code and I
AV> don't see us passing the authentication information when we load the
AV> schema. Would it be possible for you to create a small war file that
AV> we can use to reproduce this problem? Otherwise of course a workaround
AV> is to setup your filter so authentication is not required to access
AV> *.xsd files.

I'll try to package a very small exmaple WAR that shows the problem.
But that might take a few days as I'm currently bussy with other
things. As you suggested I'm filtering the XSD files in the security
servlet filter as a workaround.

Currently I don't know how you might pass authentication information
when retrieving resource from the "seperately deployed" web app.
Probably Orbeon Form needs to pass session information/ID when doing
such things. Maybe you guys got a good idea how to do this? :)

- bitbyter





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: Loading Secured XSD SChema Files

Alessandro Vernet
Administrator
On 4/26/07, Bit Byter <[hidden email]> wrote:
> Currently I don't know how you might pass authentication information
> when retrieving resource from the "seperately deployed" web app.
> Probably Orbeon Form needs to pass session information/ID when doing
> such things. Maybe you guys got a good idea how to do this? :)

Yes, we need to pass cookies (to propagate the session) and the
Authorization header (for the case where basic authentication is
used). We do this in a few places, but it seems we don't when loading
a schema.

Alex
--
Orbeon Forms - Web 2.0 Forms for the Enterprise
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws