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/