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

Reply via email to