I was able to get a web services reference (service-ref) from a web app to connect to an EJB exposed as a web service in Geronimo 1.0 when working through some tests for my web services chapter at:
http://chariotsolutions.com/geronimo/web-services.html However, I did not try a dynamic proxy client. I did notice that a servlet web service got an extra slash in the URL it generated in the WSDL, though in my case it was after the port not at the end of the name. Perhaps this is related? If you look at the WSDL file at the URL http://localhost:8080/TestEJB/Hello?wsdl (NOTE: not your original copy of the WSDL, but specifically look at the copy at that URL), does the service URL have the extra slash in it? If so, that's likely the problem, and possibly related to the slash problem I had, which I recorded at: http://issues.apache.org/jira/browse/GERONIMO-1584 In any case, to work around this, you might try adding a web-service-address element to your EJB configuration in openejb-jar.xml and see if you can provide an explicit value there that might override the auto-generated one with the extra slash. (Also, of course, make sure you don't have a web-service-address there already that has a slash on the end.) Thanks, Aaron On 2/5/06, Phani Madgula <[EMAIL PROTECTED]> wrote: > Hi > > I have deployed a WEBSERVICE implemented using an EJB, and facing a problem > while accessing through Dynamic Proxy client. > The client is as follows. > > > > String urlstr = > "http://localhost:8080/TestEJB/Hello?wsdl"; > > String argument = "phani"; > > System.out.println("Contacting webservice at " + urlstr); > > URL url = new URL(urlstr); > > QName qname = new QName("http://hello.phani.org/", "HelloService"); > > ServiceFactory factory = ServiceFactory.newInstance(); > Service service = factory.createService(url, qname); > > Hello hello = (Hello) service.getPort(Hello.class); > > System.out.println("hello.hello(" + argument + ")"); > System.out.println("output:" + hello.hello(argument)); > > > > The error is > > Contacting webservice at > http://localhost:8080/TestEJB/Hello?wsdl > Exception in thread "main" javax.xml.rpc.ServiceException: Error processing > WSDL document: > java.io.IOException: Server returned HTTP response code: 500 for URL: > http://localhost:8080/TestEJB/Hello/?wsdl > at org.apache.axis.client.Service.initService > (Service.java:250) > at org.apache.axis.client.Service.<init>(Service.java:165) > at > org.apache.axis.client.ServiceFactory.createService(ServiceFactory.java:198) > at HelloClient.main(HelloClient.java :27) > > If we can observe the error trace, a '/' is getting appended for the URL > "http://localhost:8080/TestEJB/Hello" and making it " > http://localhost:8080/TestEJB/Hello/?wsdl". It is not > happening for WEBSERVICE implemented using a servlet. > > > > The WSDL is as follows. > > <?xml version="1.0" encoding="UTF-8"?> > > <definitions name="HelloService" targetNamespace="http://hello.phani.org/" > xmlns:tns="http://hello.phani.org/" xmlns=" > http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap=" > http://schemas.xmlsoap.org/wsdl/soap/"> > <types/> > <message name="Hello_hello"> > <part name="String_1" type="xsd:string"/></message> > <message name="Hello_helloResponse"> > <part name="result" type="xsd:string"/></message> > <portType name="Hello"> > <operation name="hello" parameterOrder="String_1"> > <input message="tns:Hello_hello"/> > <output > message="tns:Hello_helloResponse"/></operation></portType> > <binding name="HelloBinding" type="tns:Hello"> > <soap:binding > transport="http://schemas.xmlsoap.org/soap/http" > style="rpc"/> > <operation name="hello"> > <soap:operation soapAction=""/> > <input> > <soap:body use="literal" > namespace="http://hello.phani.org/"/></input> > <output> > <soap:body use="literal" > namespace="http://hello.phani.org/"/></output></operation></binding > > > <service name="HelloService"> > <port name="HelloPort" binding="tns:HelloBinding"> > <soap:address location=" > http://localhost:8080/TestEJB/Hello"/></port></service></definitions> > > > Why is an extra '/' is getting added ? > > Any issues? > > Thanks > > phani > > > > > > > > > > >
