[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: JLDAP's DSML Reader In-compatible with JNDI's dsmlv2 provider?



Just to add some followup, here is the xml being sent:

POST /services/dsmlv2/service HTTP/1.1
SOAPAction: "#batchRequest"
Content-Type: text/xml; charset="utf-8"
Content-Length: 463
Authorization: Basic Y249QWRtaW46bWFuYWdlcg==
User-Agent: Java/1.4.1_01
Host: 127.0.0.1
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

<se:Envelope>
<se:Body>
<dsml:batchRequest xmlns="urn:oasis:names:tc:DSML:2:0:core" xmlns:dsml="urn:oasis:names:tc:DSML:2:0:core" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dsml:searchRequest derefAliases="derefAlways" dn="ou=peons,dc=idrs,dc=com" requestID="1" scope="singleLevel">
<dsml:filter>
<dsml:present name="objectclass"/>
</dsml:filter>
</dsml:searchRequest>
</dsml:batchRequest>
</se:Body></se:Envelope>

The stack trace:

<x-tad-bigger>[2004-01-06 21:25:48,443] ERROR - DsmlService: Could not parse dsml [PoolThread-1]</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger>LDAPLocalException: The following error occured while parsing DSML: org.xml.sax.SAXParseException: Undeclared prefix: "se:Envelope". (84) Decoding Error</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger>org.xml.sax.SAXParseException: Undeclared prefix: "se:Envelope".</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at com.octetstring.vde.dsmlv2.jldap.DSMLReader.<init>(DSMLReader.java:130)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at com.octetstring.vde.dsmlv2.jldap.DSMLReader.<init>(DSMLReader.java:83)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at com.octetstring.vde.dsmlv2.DsmlService.doPost(DsmlService.java:98)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at com.octetstring.webgateway.filters.DOSFilter.doFilter(DOSFilter.java:70)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpContext.handle(HttpContext.java:1808)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpContext.handle(HttpContext.java:1758)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpServer.service(HttpServer.java:879)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:952)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:197)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:496)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger>Caused by: org.xml.sax.SAXParseException: Undeclared prefix: "se:Envelope".</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.Parser2.error(Parser2.java:3160)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.Parser2.processName(Parser2.java:1660)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1487)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at com.octetstring.vde.dsmlv2.jldap.DSMLReader.<init>(DSMLReader.java:112)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> ... 20 more</x-tad-bigger>



On Jan 6, 2004, at 6:01 PM, Marc Boorshtein wrote:

Hello,

I am working with the DSMLv2 Reader and have found the following issue with JNDI's dsmlv2 provider as a client:

The JNDI DSMLv2 provider uses "se" as a prefix for the soap envelope's xml tags. The dsmlv2 reader generates an exception saying it can't recognize the "se:Envelope" prefix. If i remove the "se", it works. It also works if I remove the SOAP envelope entirely. I looked at the dsmlv2 servlet in CVS and saw that it wasn't stripping out the envelope before creating the reader. It appears that the dsml reader will ignore the soap envelope as long as it doesn't have a prefix.


--------------------------------------------------------------------------------------------------
Marc Boorshtein
Software Engineer, Octet String
marc.boorshtein@octetstring.com