<port-component> <auth-method>CLIENT-CERT</auth-method> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </port-component>
This doesn't look right. As per the xsd, the port-component needs to have a port-component-name too. Something like:
<port-component> <port-component-name>blahblahblah</port-component-name> <auth-method>CLIENT-CERT</auth-method> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </port-component>
Let us know how it goes.
And also, in your post i don't see a closing jboss element
<?xml version="1.0" encoding="UTF-8"?> <jboss xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.org/j2ee/schema http://www.jboss.org/j2ee/schema/jboss_5_0.xsd" version="5.0"> ..... </jboss>
What about using the DTD for "jboss.xml"?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd"> <jboss> <enterprise-beans> ... </enterprise-beans> </jboss>
Hope this helps
Thanks for all the feedback (and for escalating this question to a more advanced forum). Here's what I've found this morning.
1. Added the port-component-name and still got the same error. (does the name value have to match another attribute somewhere else?)
1a. Yes, there is a closing tag, it just escaped my cut-paste.
2. I tried using the DTD and my EJB now deploys successfully. My JUnit tests are now failing with an access authorization error but I will assume that is a separate configuration problem with the test user certificate.
3. After discussing with co-workers, I removed the "xmlns" attribute from the jboss tag of my instance document (jboss.xml), so the jboss tag is now no longer attached to a namespace (it is now global?) and again the EJB deploys successfully and I get the same access errors as with the DTD solution. Is this de-namespacing of the instance document a "bad" thing to do?
For anyone who hits this:
Try version="3.0" - it stands for EJB version, not XSD version. I believe the XSD self-documentation is wrong, see JBMETA-293 .
<jboss xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_5_0.xsd" version="3.0">