What version of jetty?

> -----Original Message-----
> From: Miguel De Anda [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 24, 2007 10:29 PM
> To: [email protected]
> Subject: undocumented configuration with jetty
> 
> i've got an application (my server) that launches its own jetty server
for
> sending files to external nodes. they currently talk to each other
using
> simple xml passed in as a post request and in the response. the
external
> nodes don't run a web server of any kind.
> 
> i now need to add a soap interface on my server but can't figure out
how.
> this
> is how my jetty server is started:
> 
> ServletHolder servlet;
> org.mortbay.jetty.Server jettyServer =
>       new org.mortbay.jetty.Server(PORT);
> Context root = new Context(jettyServer, "/", Context.SESSIONS);
> ....
> servlet = new ServletHolder(someServlet);
> root.addServlet(servlet, "/*");
> ....
> CXFServlet cxf = new CXFServlet();
> servlet = new ServletHolder(cxf);
> servlet.setName("soap");
> servlet.setForcedPath("soap");
> root.addServlet(servlet, "/soap/*");
> HelloWorld hw = new HelloWorldImpl();
> Endpoint.publish("/soap/HelloWorld", hw);
> jettyServer.start();
> 
> ----------------------------
> package a.b.c;
> import javax.jws.WebService;
> @WebService
> public interface HelloWorld {
>       String sayHi(String text);
> }
> ----------------------------
> import javax.jws.WebService;
> @WebService(endpointInterface = "a.b.c.HelloWorld")
> public class HelloWorldImpl implements HelloWorld {
>       public String sayHi(String text) {
>               return "The interesting question becomes is what is
soap?";
>       }
> }
> ----------------------------
> 
> i got errors ranging from a null pointer exception when i went to
> http://localhost:PORT/soap/ to "/soap/HelloWorld" not being a valid
url
> (in
> the line Endpoint.publish). i had to set a full url there, when i
> used "http://localhost:PORT/soap/HelloWorld"; it told me that the port
was
> being used, so i figured its launching its own internal instance of
jetty
> (or
> whatever it uses). i then replaced the port to some 8087 and it almost
> works,
> but i get a "<faultstring>No such operation: </faultstring>" message
when
> viewing http://localhost:8087/soap/HelloWorld
> 
> i would really like to be able to use the same jetty server, and be
able
> to
> give access to my existing objects in my application. i'm using spring
to
> load up an object that has all of my configuration settings but not in
the
> same way you would in a typical web app that runs on a webserver. the
> customer currently has access to that spring config file and it would
be
> wrong to give them access (or force them to configure) the soap
services.
> 
> in other words, my app is launched this way:
> public static void main(...) {
>   Resource resource = new FileSystemResource(config);
>   BeanFactory factory = new XmlBeanFactory(resource);
>   Config config = (Config)factory.getBean(bean);
>   configApp(config);
>   startServices();
> }
> 
> 
> Actual error messages:
> (using /soap/... in publish line)
> Caused by: java.net.MalformedURLException: no protocol:
/soap/HelloWorld
>         at java.net.URL.<init>(URL.java:567)
>         at java.net.URL.<init>(URL.java:464)
>         at java.net.URL.<init>(URL.java:413)
>         at
>
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.<init>(JettyHTT
PD
> estination.java:87)
>         at
>
org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDest
in
> ation(JettyHTTPTransportFactory.java:96)
>         at
>
org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestina
ti
> on(JettyHTTPTransportFactory.java:83)
>         at
>
org.apache.cxf.binding.soap.SoapTransportFactory.getDestination(SoapTran
sp
> ortFactory.java:74)
>         at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)
>         at
org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
>         at
>
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:
10
> 8)
>         ... 8 more
> 
> (using http://...:PORT/ in publish line)
> Exception in thread "main" java.net.BindException: Address already in
use
>         at java.net.PlainSocketImpl.socketBind(Native Method)
>         at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
> 
> **********************************************************************
> 
> This email, its content and any attachments is PRIVATE AND
> CONFIDENTIAL to TANDBERG Television, Part of the Ericsson Group.
> If received in error please notify the sender and destroy the original
> message and attachments.
> 
> www.tandbergtv.com
> **********************************************************************

Reply via email to