Now I'm really confused... if that's true, then why did it work with just

http://localhost:8888/test.html <http://localhost:8888/mysite/test.html>

after I restarted jetty?

I haven't changed the spring application context (I don't know how).

Lars


On 3/22/2012 10:57 AM, Robby Pelssers wrote:

Unless you changed the spring application context that is auto-generated using the cocoon block archetype you should use:

http://localhost:8888/mysite/test.html

Robby

*From:*Lars Huttar [mailto:lars_hut...@sil.org]
*Sent:* Thursday, March 22, 2012 4:55 PM
*To:* users@cocoon.apache.org
*Cc:* Francesco Chicchiriccò
*Subject:* Re: [C3] Working with archetypes [Was Re: parent of parent artifact?]

Francesco,
Thanks for your patience. I feel like I'm very close, but I apparently still don't have some of the concept understood correctly, because things are not working for me.

I generated the myparent, mysite, and mywebapp artifacts as described in your instructions at http://markmail.org/message/d6m2yidkrfqkslo2 part C.

Then I went into mysite (instead of mywebapp) and ran mvn jetty:run.
Then I created a sitemap in mysite/src/main/resource/COB-INF and gave it a simple match pattern:
<map:match pattern="test.html">
<map:read src="test.html" />
</map:match>

But when I try to exercise this test, by going to http://localhost:8888/test.html in the browser, I get an empty response (200 OK status but zero bytes of content), and the following error in mysite\target\work\log\cocoon.log: 2012-03-22 10:32:22,026 ERROR 24024212@qtp-19118752-2 org.apache.cocoon.servlet.XMLSitemapServlet - Cocoon can't process the request. org.apache.cocoon.sitemap.NoMatchingPipelineException: No pipeline matched the request '/test.html'

Here is a little more context from the log (note that e-17-pub is my version of mysite):

2012-03-22 10:32:22,022 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.servletservice.DispatcherServlet - DispatcherServlet: service servlet=org.apache.cocoon.servlet.XMLSitemapServlet@980484 mountPath= servletPath= pathInfo=/test.html 2012-03-22 10:32:22,022 INFO 24024212@qtp-19118752-2 org.apache.cocoon.servlet.RequestProcessor - Performing GET request at /test.html 2012-03-22 10:32:22,022 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.servlet.RequestProcessor - The base URL for this request is file:/C:/Users/HuttarL/Documents/work/c3/theParent/e-17-pub/./src/main/resources/COB-INF/ <file:///C:%5CUsers%5CHuttarL%5CDocuments%5Cwork%5Cc3%5CtheParent%5Ce-17-pub%5Csrc%5Cmain%5Cresources%5CCOB-INF%5C> 2012-03-22 10:32:22,023 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.sitemap.node.AbstractSitemapNode - PipelinesNode.invoke(/test.html) 2012-03-22 10:32:22,023 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.sitemap.node.AbstractSitemapNode - PipelineNode(caching).invoke(/test.html) 2012-03-22 10:32:22,024 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.sitemap.node.AbstractSitemapNode - MatchNode.invoke(/test.html) 2012-03-22 10:32:22,024 DEBUG 24024212@qtp-19118752-2 org.apache.cocoon.sitemap.node.MatchNode$MatcherContext - Matching: expression=, testValue=test.html, result=null 2012-03-22 10:32:22,024 INFO 24024212@qtp-19118752-2 org.apache.cocoon.servlet.RequestProcessor - Sitemap execution for /test.html took 1.549768 ms. 2012-03-22 10:32:22,026 ERROR 24024212@qtp-19118752-2 org.apache.cocoon.servlet.XMLSitemapServlet - Cocoon can't process the request. org.apache.cocoon.sitemap.NoMatchingPipelineException: No pipeline matched the request '/test.html' at org.apache.cocoon.sitemap.node.PipelinesNode.invoke(PipelinesNode.java:55) ~[cocoon-sitemap-3.0.0-beta-1-SNAPSHOT.jar:3.0.0-beta-1-SNAPSHOT]


Notice that the base URL for the request is e-17-pub/./src/main/resources/COB-INF/ yet Cocoon doesn't seem to be looking at e-17-pub/./src/main/resources/COB-INF/sitemap.xmap.

Any ideas? Is it really running the webapp instead of the block? In that case do I need to put a mount command (or equivalent) in the webapp's sitemap to direct URLs to my block?

Thanks,
Lars


On 3/22/2012 6:29 AM, Francesco Chicchiriccò wrote:

On 21/03/2012 21:09, Lars Huttar wrote:

[...]
Thank you, that is definitely clearer.
So I do my development in blocks, not in the webapp; the webapp is for packaging for external deployment.

The one thing I'm not clear on, then, is this part of your instructions: (http://markmail.org/message/d6m2yidkrfqkslo2 for full context)


C) If you want to develop a complete C3 web application

You need to generate a multimodule maven project [2] with the following structure:

myparent/
  mysite/
  mywebapp/

...

Now you can finally

cd mywebapp
mvn jetty:run


Why is this telling me to run jetty in mywebapp, instead of in mysite?
Maybe that's just a red herring (not important), but it has me confused.


Running "mvn jetty:run" in each of your blocks (i.e. mysite) will let you develop and test each single block. If you want to look how the final webapp assembles everything together, you will have to run "mvn jetty:run" under mywebapp.

Having a single block (like as in your case) the two things above are equivalent.

Regards.

--
Francesco Chicchiriccò
Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/  <http://people.apache.org/%7Eilgrosso/>


Reply via email to