I don't think any validation is done by default. It just loads the grammar.
On Wed, Sep 3, 2008 at 12:17 PM, steff aka sid
<[EMAIL PROTECTED]> wrote:
>
> In my opinion its a nice feature if you are able to validate against dtd or
> schema file (if you are working with xml) then you can be shure that the
> right xml is received. But there must be a configuration setting what will
> alow you define what schema or dtd to use (local or webbased) and to turn of
> the feature if you don't whant to use it. I've worked with Oracle SOA Suite
> and they make a full schema check for incoming messages (but not
> configurable so you have to check all the time).
> So for now I've a work around what works...
>
> Regards
> /Steffen
>
>
> gnodet wrote:
>>
>> I'm wondering if we should disable DTD loading by default. The
>> container should not automatically validate the xml, or even load
>> these DTDs.
>> Not sure how to do that though. I think most of the xml processing is
>> done in the SourceTransformer class so we may want to patch it
>> somehow.
>>
>> On Wed, Sep 3, 2008 at 10:29 AM, steff aka sid
>> <[EMAIL PROTECTED]> wrote:
>>>
>>> Hm the processing of the DTD is done inside of a bean (I've copied from
>>> servicemix-bean examples):
>>> package de.brockhaus-gruppe.services;
>>>
>>> import javax.annotation.Resource;
>>> import javax.jbi.messaging.DeliveryChannel;
>>> import javax.jbi.messaging.ExchangeStatus;
>>> import javax.jbi.messaging.MessageExchange;
>>> import javax.jbi.messaging.MessagingException;
>>>
>>> import org.apache.servicemix.MessageExchangeListener;
>>>
>>> public class ProductTransformerService implements MessageExchangeListener
>>> {
>>>
>>> @Resource
>>> private DeliveryChannel channel;
>>>
>>> public void onMessageExchange(MessageExchange exchange) throws
>>> MessagingException {
>>> System.out.println("Received exchange with id: " + exchange);
>>> exchange.setStatus(ExchangeStatus.DONE);
>>> channel.send(exchange);
>>> }
>>> }
>>>
>>> On the line where the exchange is printed out. I think at this point smx
>>> knows that I haven xml message and he tries to sax parse (or something
>>> like
>>> that) it and the parser tries to access the dtd.
>>>
>>> Greetigns
>>> /Steffen
>>>
>>>
>>>
>>> gnodet wrote:
>>>>
>>>> I'm not even sure why ServiceMix looks for the DTD at all. Imho, it
>>>> should work even if it is not available.
>>>>
>>>> On Wed, Sep 3, 2008 at 10:16 AM, steff aka sid
>>>> <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>> I've fixed this issue by plassing the dtd under /smx/products/test.dtd
>>>>> (under
>>>>> Linux) so this works but in my opinion it is not the best way to do
>>>>> that.
>>>>> So
>>>>> my question is, is there a better way to configure where to place the
>>>>> dtd
>>>>> or
>>>>> to configure where smx has to look for dtd's.
>>>>>
>>>>> Greetings
>>>>> /Steffen
>>>>>
>>>>>
>>>>> steff aka sid wrote:
>>>>>>
>>>>>> Ok, I've got the next Problem. The poller reads a file which has an
>>>>>> dtd
>>>>>> defined:
>>>>>> <!DOCTYPE Lago35Transfer SYSTEM "test.dtd">
>>>>>>
>>>>>> and after the FTP Poller has read the file the message is send to bean
>>>>>> endpoint. Its not much what is done in this bean I copied one of the
>>>>>> examples from the bean component page. So when I want consume the
>>>>>> message
>>>>>> I get an NullPointerException cause of the missing dtd:
>>>>>> Received exchange: InOnly[
>>>>>> id: ID:127.0.1.1-11c235a4d30-3:9
>>>>>> status: Active
>>>>>> role: provider
>>>>>> service:
>>>>>> {http://www.brockhaus-gruppe.de/services}ProductTransformerService
>>>>>> endpoint: endpoint
>>>>>> in: Unable to display: java.io.FileNotFoundException:
>>>>>> /smx/products/test.dtd (No such file or directory)
>>>>>> ]
>>>>>>
>>>>>> This "/smx/products/" path seems to come from the ftp component. But I
>>>>>> have no idea where I can put the dtd so that the service can use it.
>>>>>> Any
>>>>>> suggestions?
>>>>>>
>>>>>> Regards
>>>>>> /Steffen
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> steff aka sid wrote:
>>>>>>>
>>>>>>> Ok, I've figured it out and attached my Config files. The Java Class
>>>>>>> is
>>>>>>> placed under "/src/main/java" in the ftp poller service unit.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> <beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0"
>>>>>>>> xmlns:bean="http://www.springframework.org/schema/beans"
>>>>>>>> xmlns:service="http://www.brockhaus-gruppe.de/services"
>>>>>>>> xmlns="http://www.springframework.org/schema/beans"
>>>>>>>> xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
>>>>>>>> xsi:schemaLocation="http://servicemix.apache.org/ftp/1.0
>>>>>>>> http://servicemix.apache.org/schema/servicemix-ftp-3.2.2.xsd
>>>>>>>> http://www.springframework.org/schema/beans
>>>>>>>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>>>>>>>>
>>>>>>>> <ftp:poller service="service:FtpInputService"
>>>>>>>> endpoint="endpoint"
>>>>>>>> targetService="service:ProductTransformerService"
>>>>>>>> uri="ftp://servicemix:[EMAIL PROTECTED]/smx/products"
>>>>>>>> filter="#XMLFilter" />
>>>>>>>>
>>>>>>>> <bean:bean id="XMLFilter"
>>>>>>>> class="de.brockhaus-gruppe.utils.XMLFilter"/>
>>>>>>>>
>>>>>>>> </beans>
>>>>>>>>
>>>>>>>
>>>>>>> And the bean class:
>>>>>>>
>>>>>>>
>>>>>>>> package de.brockhaus-gruppe.utils;
>>>>>>>>
>>>>>>>> import java.io.File;
>>>>>>>> import java.io.FileFilter;
>>>>>>>>
>>>>>>>> public class XMLFilter implements FileFilter {
>>>>>>>>
>>>>>>>> public static String XML_FILEEXTENSION = ".xml";
>>>>>>>>
>>>>>>>> public boolean accept(File pathname) {
>>>>>>>> String strFilename = pathname.getName();
>>>>>>>> if (strFilename.endsWith(XML_FILEEXTENSION)) {
>>>>>>>> return true;
>>>>>>>> }
>>>>>>>> return false;
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>
>>>>>>> Greetings
>>>>>>> /Steffen
>>>>>>>
>>>>>>> P.s. I'am subscribed to the mailing list (am I???) but I don't
>>>>>>> receive
>>>>>>> any mails!! So anyone has an idea why this happens?
>>>>>>>
>>>>>>>
>>>>>>> steff aka sid wrote:
>>>>>>>>
>>>>>>>> Hi all,
>>>>>>>> I'am trying to create a ftp poller with a filter for specific file
>>>>>>>> extensions (e.g. *.xml). I found out that I have to use an
>>>>>>>> java.io.FileFilter to do that. But I've serveral questions:
>>>>>>>> - are there any classes which could be used? (maybe with example how
>>>>>>>> to
>>>>>>>> use in smx)
>>>>>>>> - if I write my own class where do I have to put it, is it packaged
>>>>>>>> with
>>>>>>>> the ftp service-unit?
>>>>>>>>
>>>>>>>> Greetings
>>>>>>>> /Steffen
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> *Brockhaus GmbH
>>>>>>>> COMPETITIVE THROUGH KNOWLEDGE*
>>>>>>>>
>>>>>>>> Brockhaus GmbH
>>>>>>>> Häuserstr. 36
>>>>>>>> D - 69115 Heidelberg
>>>>>>>> Email: [EMAIL PROTECTED]
>>>>>>>> Web: www.brockhaus-gruppe.de / www.brockhaus-group.com
>>>>>>>>
>>>>>>>> Geschäftsführer: Dipl. Kfm. Matthias Bohnen
>>>>>>>> Amtsgericht Mannheim, HRB 704665 / USt-IdNr.: DE 227616670
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -----
>>>>>>>> Brockhaus GmbH
>>>>>>>> COMPETITIVE THROUGH KNOWLEDGE
>>>>>>>>
>>>>>>>> Web: www.brockhaus-gruppe.de / www.brockhaus-group.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> -----
>>>>> Brockhaus GmbH
>>>>> COMPETITIVE THROUGH KNOWLEDGE
>>>>>
>>>>> Web: http://www.brockhaus-gruppe.de www.brockhaus-gruppe.de /
>>>>> http://www.brockhaus-group.com www.brockhaus-group.com
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/FTP-%3A%3A-Poller-with-Filter-tp19271570p19284846.html
>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cheers,
>>>> Guillaume Nodet
>>>> ------------------------
>>>> Blog: http://gnodet.blogspot.com/
>>>>
>>>>
>>>
>>>
>>> -----
>>> Brockhaus GmbH
>>> COMPETITIVE THROUGH KNOWLEDGE
>>>
>>> Web: http://www.brockhaus-gruppe.de www.brockhaus-gruppe.de /
>>> http://www.brockhaus-group.com www.brockhaus-group.com
>>> --
>>> View this message in context:
>>> http://www.nabble.com/FTP-%3A%3A-Poller-with-Filter-tp19271570p19285037.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>>
>>
>
>
> -----
> Brockhaus GmbH
> COMPETITIVE THROUGH KNOWLEDGE
>
> Web: http://www.brockhaus-gruppe.de www.brockhaus-gruppe.de /
> http://www.brockhaus-group.com www.brockhaus-group.com
> --
> View this message in context:
> http://www.nabble.com/FTP-%3A%3A-Poller-with-Filter-tp19271570p19286483.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>
--
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/