You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by mahu2425 <ma...@lycos.de> on 2006/04/22 16:27:15 UTC
Can not fetch WDSL with Tomcat version
Hello,
First of all: I'm quite new to Geronimo as well as to J2EE in general, so don't blame me if my question is studip. ;-)
I developed a small stateless session bean and tried to make a web service out of it. The deployment to Geronimo (Tomcat version) was successful, but I was not able to receive the WSDL (e. g. using a web browser).
Instead the following error is displayed: HTTP Status 500 - Could not fetch wsdl!
The Geronimo logfile shows the following:
16:09:42,484 ERROR [TomcatEJBWebServiceContext] java.lang.IllegalStateException: request must contain a wsdl or WSDL parameter: {wsdl=[Ljava.lang.String;@1ad0ff8}
After a trying hard to find the error I installed the Jetty version of Geronimo - and everything worked fine.
All I found out until now is, that the Tomcat version seems to change the URL if I try to access the WSDL .
Let's say I type in my webbrowser "http://localhost:8080/MyDemo/MyDemoWebService?wsdl" then
"http://localhost:8080/MyDemo/MyDemoWebService/?wsdl" is returned/displayed in the browser instead.
Might this cause the problem?
My MyDemo.wsdl file looks like:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MyDemo" targetNamespace="http://com.demo" xmlns:tns="http://com.demo" 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="MyDemoSEI_getDemoString">
<part name="mystring" type="xsd:string"/></message>
<message name="MyDemoSEI_getDemoStringResponse">
<part name="result" type="xsd:string"/></message>
<portType name="MyDemoSEI">
<operation name="getDemoString" parameterOrder="mystring">
<input message="tns:MyDemoSEI_getDemoString"/>
<output message="tns:MyDemoSEI_getDemoStringResponse"/></operation></portType>
<binding name="MyDemoSEIBinding" type="tns:MyDemoSEI">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="getDemoString">
<soap:operation soapAction=""/>
<input>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com.demo"/></input>
<output>
<soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com.demo"/></output></operation></binding>
<service name="MyDemo">
<port name="MyDemoSEIPort" binding="tns:MyDemoSEIBinding">
<soap:address location="http://localhost:8080/MyDemo/MyDemoWebService"/></port>
</service>
</definitions>
And here is the webservice.xml file:
<webservices xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
version="1.1">
<webservice-description>
<webservice-description-name>MyDemoWebService</webservice-description-name>
<wsdl-file>META-INF/MyDemo.wsdl</wsdl-file>
<jaxrpc-mapping-file>META-INF/server-jaxrpc-mapping.xml</jaxrpc-mapping-file>
<port-component>
<port-component-name>MyDemoWebService</port-component-name>
<wsdl-port>MyDemoSEIPort</wsdl-port>
<service-endpoint-interface>com.demo.MyDemoSEI</service-endpoint-interface>
<service-impl-bean>
<ejb-link>MyDemo</ejb-link>
</service-impl-bean>
</port-component>
</webservice-description>
</webservices>
Any idea what goes wrong? As I said, the are no problems using the Jetty Version of Geronimo.
Greets,
Markus
Schnell und einfach ohne Anschlusswechsel zur Lycos DSL Flatrate wechseln und 3 Monate kostenlos ab effektiven 5,21 EUR pro Monat im ersten Jahr surfen.
http://www.lycos.de/startseite/online/dsl/index.html?prod=DSL&trackingID=email_footertxt
Re: Can not fetch WDSL with Tomcat version
Posted by Aaron Mulder <am...@alumni.princeton.edu>.
That message is kind of weird. Can you try
http://localhost:8080/MyDemo/MyDemoWebService?wsdl=foo just to see if
that makes it think it has a WSDL parameter?
Thanks,
Aaron
On 4/22/06, mahu2425 <ma...@lycos.de> wrote:
> Hello,
>
> First of all: I'm quite new to Geronimo as well as to J2EE in general, so don't blame me if my question is studip. ;-)
>
> I developed a small stateless session bean and tried to make a web service out of it. The deployment to Geronimo (Tomcat version) was successful, but I was not able to receive the WSDL (e. g. using a web browser).
>
> Instead the following error is displayed: HTTP Status 500 - Could not fetch wsdl!
>
> The Geronimo logfile shows the following:
> 16:09:42,484 ERROR [TomcatEJBWebServiceContext] java.lang.IllegalStateException: request must contain a wsdl or WSDL parameter: {wsdl=[Ljava.lang.String;@1ad0ff8}
>
> After a trying hard to find the error I installed the Jetty version of Geronimo - and everything worked fine.
>
> All I found out until now is, that the Tomcat version seems to change the URL if I try to access the WSDL .
> Let's say I type in my webbrowser "http://localhost:8080/MyDemo/MyDemoWebService?wsdl" then
> "http://localhost:8080/MyDemo/MyDemoWebService/?wsdl" is returned/displayed in the browser instead.
>
> Might this cause the problem?
>
> My MyDemo.wsdl file looks like:
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <definitions name="MyDemo" targetNamespace="http://com.demo" xmlns:tns="http://com.demo" 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="MyDemoSEI_getDemoString">
> <part name="mystring" type="xsd:string"/></message>
> <message name="MyDemoSEI_getDemoStringResponse">
> <part name="result" type="xsd:string"/></message>
> <portType name="MyDemoSEI">
> <operation name="getDemoString" parameterOrder="mystring">
> <input message="tns:MyDemoSEI_getDemoString"/>
> <output message="tns:MyDemoSEI_getDemoStringResponse"/></operation></portType>
> <binding name="MyDemoSEIBinding" type="tns:MyDemoSEI">
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
> <operation name="getDemoString">
> <soap:operation soapAction=""/>
> <input>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com.demo"/></input>
> <output>
> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com.demo"/></output></operation></binding>
> <service name="MyDemo">
> <port name="MyDemoSEIPort" binding="tns:MyDemoSEIBinding">
> <soap:address location="http://localhost:8080/MyDemo/MyDemoWebService"/></port>
> </service>
> </definitions>
>
>
>
> And here is the webservice.xml file:
>
>
> <webservices xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
> version="1.1">
> <webservice-description>
> <webservice-description-name>MyDemoWebService</webservice-description-name>
> <wsdl-file>META-INF/MyDemo.wsdl</wsdl-file>
> <jaxrpc-mapping-file>META-INF/server-jaxrpc-mapping.xml</jaxrpc-mapping-file>
>
> <port-component>
> <port-component-name>MyDemoWebService</port-component-name>
> <wsdl-port>MyDemoSEIPort</wsdl-port>
> <service-endpoint-interface>com.demo.MyDemoSEI</service-endpoint-interface>
> <service-impl-bean>
> <ejb-link>MyDemo</ejb-link>
> </service-impl-bean>
> </port-component>
> </webservice-description>
> </webservices>
>
>
>
> Any idea what goes wrong? As I said, the are no problems using the Jetty Version of Geronimo.
>
> Greets,
>
> Markus
>
> Schnell und einfach ohne Anschlusswechsel zur Lycos DSL Flatrate wechseln und 3 Monate kostenlos ab effektiven 5,21 EUR pro Monat im ersten Jahr surfen.
> http://www.lycos.de/startseite/online/dsl/index.html?prod=DSL&trackingID=email_footertxt
>