Hi Ant,

I tried it as you suggested, so I deployed the service with
<binding.ws/> only, and tried to access the application using the :

[webappSerletUrl]/componentName/serviceName

but without success. I am still getting the
No servlet registered for path:
/HelloWorldServiceComponent/HelloWorldService/ exception.

Here is the helloworldws.composite file that I use:

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
        targetNamespace="http://helloworld";
        xmlns:hw="http://helloworld";
   name="helloworldws">

   <component name="HelloWorldServiceComponent">
            <service name="HelloWorldService">
                <interface.java interface="helloworld.HelloWorldService" />
                <binding.ws/>
            </service>
       <implementation.java class="helloworld.HelloWorldImpl" />
   </component>

</composite>

and the URL that doesn't work is
http://localhost:8080/helloworldServiceWAR/HelloWorldServiceComponent/HelloWorldService/?wsdl

Thanks,
Radim

On 7/26/07, ant elder <[EMAIL PROTECTED]> wrote:
On 7/26/07, Simon Laws <[EMAIL PROTECTED]> wrote:
>
> 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: < tuscany-user@ws.apache.org>
> > > 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
>

See:
http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200707.mbox/browser
and: http://incubator.apache.org/tuscany/sca-java-bindingws.html

Basically, if you reference the WSDL port it will use that, otherwise the
url is constructed from the component name, service name and binding URI. I
find for services its easiest to just leave it all out eg ,<binding.ws/>, in
which case the uri will be the [webappSerletUrl]/componentName/serviceName,
and for references to explicitly use the uri attribute, eg <binding.ws uri="
http://somehost/someService"; />

  ...ant


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

Reply via email to