Hi Aaron,
Thanks for reply.
 
I have added the following tags in openejb-jar.xml to bind the service to a different URL than what is specified in wsdl file.
 
 <enterprise-beans>
    <session>
        <ejb-name>HelloBean</ejb-name>
        <jndi-name>HelloBean</jndi-name>       
        <web-service-address>/RAMESH/Hello</web-service-address>
    </session>
 </enterprise-beans>
 
where as my wsdl file contains
  <port name="HelloPort" binding="tns:HelloBinding">
      <soap:address location="http://localhost:8080/TestEJB/Hello"/></port >
 
 
In either case, the extra '/' is being generated while using Dynamic Proxy client.
 
Contacting webservice at http://localhost:8080/RAMESH/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/RAMESH/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)
 
Even while viewing wsdl from a browser window, at the URL 'http://localhost:8080/TestEJB/Hello?wsdl", the extra '/' is getting appended.
 
Thanks
phani


 
On 2/6/06, Aaron Mulder <[EMAIL PROTECTED]> wrote:
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 ="" 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
>
>
>
>
>
>
>
>
>
>
>

Reply via email to