On 7/26/07, Radim Kolarik <[EMAIL PROTECTED] > wrote:

Hi Reymond,

Thank you for your reply.

How do I run the example if it is deployed to a web server, such as
Tomcat? I found an information about TuscanyServlet, which needs to be
in web.xml file, which I have now.

Let's say that my server's root context and web app context URL is
http://localhost:8080/myWebApp . What do I have to add after this URL
to be able to access the application? According to SCA spec, the web
service WSDL should be available if the URL ends with ?wsdl. But if I
type http://localhost:8080/myWebApp/?wsdl in the browser, I get an
exception:

SEVERE: Servlet.service() for servlet TuscanyServlet threw exception
java.lang.IllegalStateException: No servlet registered for path: /
        at org.apache.tuscany.sca.webapp.TuscanyServlet.service(
TuscanyServlet.java:57)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
        at org.apache.catalina.core.StandardHostValve.invoke (
StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(
Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (
Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)

I did some debugging on this and it seems that the servlet tries to
obtain a mapping from a Map, which is empty. Is this a bug or am I
just missing something in my .composite file or WSDL?

Also, did you create the WSDL file manually or did you use any
generation tool provided by Tuscany?

Thanks,
Radim

On 7/25/07, Raymond Feng <[EMAIL PROTECTED]> wrote:
> Hi, Radim.
>
> I'm not very sure if we already have the support to deploy an SCA
service as
> a web service without WSDL. If not, that's something we want to support
for
> sure.
>
> We have a sample to demonstrate the usage of SCA, web service and SDO.
It
> seems to be what you are looking for. You can see the sample code at:
>
> 
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/helloworld-ws-sdo

>
> Thanks,
> Raymond
>
> ----- Original Message -----
> From: "Radim Kolarik" < [EMAIL PROTECTED]>
> To: < [email protected]>
> Sent: Wednesday, July 25, 2007 7:38 AM
> Subject: Services and WSDL files
>
>
> > Hi,
> >
> > Is it necessary to supply wsdl file if I want to deploy an SCA service
as
> > a
> > web service? Or can Tuscany generate the file "on the fly"?
> >
> > If I need to supply the file myself, what would be the best way to
> > generate
> > the file? Is it possible to generate the file for SDOs, if they are
> > service
> > parameters or if a service returns an SDO object as its result?
> >
> > Thanks,
> > Radim
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Hi Radim

Someone else is asking a similar question [1]. As part of this I made a
sample [2] to experiment with exposing web services through the web app
container. There are a few wrinkles in getting this to work. To make it work
I hand created WSDL conatining a service URL that matched where I knew the
service was going to be deployed. For example.

In the sample [2] the URL that is registered with the web app relates to the
single service that is described in the  .composite file [3]

   <component name="AddServiceComponent">
       <implementation.java class="calculator.AddServiceImpl"/>
       <service name="AddService">
           <interface.java interface="calculator.AddService" />
           <binding.ws
wsdlElement="http://calculator#wsdl.port(AddService/AddSoapPort)
<http://calculator/#wsdl.port%28AddService/AddSoapPort%29>"/>
       </service>
   </component>

And, in this case, takes its value from the WSDL service description [3]

   <wsdl:service name="AddService">

       <wsdl:port binding="tns:AddSoapBinding" name="AddSoapPort">

           <wsdlsoap:address
location="http://localhost:8080/sample-calculator-webapp-ws/services/AddService"/>
       </wsdl:port>
   </wsdl:service>

I.e, I see the value.
http://localhost:8080/sample-calculator-webapp-ws/services/AddServiceregistered
in the WebAppServletHost

The important thing here is that the URL I hand edited into the WSDL file
matches the URL that the web app is deployed at. In my case I'm deploying
the WAR to tomcat and it ends up at
http://localhost:8080/sample-calculator-webapp-ws
. The web.xml file maps "/services" to the TuscanyServlet so that appears
too and finally the name of the service.

Now this all feels a little complicated to me, I.e Reading the spec I would
expect just to be able to specify a service name and have the runtime
construct the URL automatically for me. In fact this is how I think the
TuscanyServlet is coded, in that it only looks for registered servlets based
on path info, and what I think the assembly spec says.  The problem is it
doesn't appear to be easy to configure the .composite file with just path
info and also keep axis happy.  I've tried a few things, e.g.

<binding.ws>
< binding.ws uri="...">

But Axis complains. So maybe someone (Raymond?) can tell us what the magic
rune is to make this work but for the time being the code in trunk works for
the sample.  I have opened JIRA TUSCANY-1481 on this so we have a marker but
it sounds like you are making some progress debugging so  feel  free to
attach notes if you feel it's appropriate.

Regards

Simon


[1] http://www.mail-archive.com/tuscany-user%40ws.apache.org/msg01434.html
 Note. There are a couple of mails missing off this thread that I didn't
send to the user list by accident. Just forwarded them now so hopefully the
archive will catch up sortly
[2]http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calculator-webapp-ws/
[3]http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calculator-webapp-ws/src/main/resources/Calculator.composite
[4]http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/calculator-webapp-ws/src/main/resources/wsdl/add.wsdl

Reply via email to